Most code running in a web browser runs much slower than native code (C/C++/ assembly), and it’s fine for many applications, but some others requiring higher performance like software video decoding would have to relies on native code, initially provided via browser plugins, but then Google introduced PNaCL (Portable Native Client) allowing to run native code on multiple targets (ARM, Intel, etc..) but in Chrome browser only, and now one of Chrome developers has explained that the community has moved to WebAssembly. WebAssembly works just as well as PNaCl, and is already natively supported by Chrome and Firefox, with support added to preview versions of Microsoft Edge and Apple Safari browsers.Since it works just as well as PNaCL, and adoption of the later is low enough, Google decided to drop support for PNaCl in the Chrome browser in Q1 2018, except inside Chrome Apps and Extensions. To get a feel […]
Top Programming Languages & Operating Systems for the Internet of Things
The Eclipse foundation has recently done its IoT Developer Survey answered by 713 developers, where they asked IoT programming languages, cloud platforms, IoT operating systems, messaging protocols (MQTT, HTTP), IoT hardware architectures and more. The results have now been published. So let’s have a look at some of the slides, especially with regards to programming languages and operating systems bearing in mind that IoT is a general terms that may apply to sensors, gateways and the cloud, so the survey correctly separated languages for different segments of the IoT ecosystem. C and C++ are still the preferred languages for constrained devices, and developers are normally using more than one language as the total is well over 100%. IoT gateways are more powerful and resourceful (memory/storage) hardware, so it’s no surprise higher level languages like Java and Python join C and C++, with Java being the most used language with 40.8% […]
Samsung JerryScript is a Lightweight Open Source JavaScript Engine for the Internet of Things
In the old days, micro-controller programming was all done in assembly or C, but in recent years higher level languages, included interpreted ones such as Python and JavaScript, have made their ways into MCUs with projects such as MicroPython or Espruino (JS) often running on STMicro STM32 ARM Cortex M micro-controllers, but also other platforms such as ESP8266. As I browsed through the Embedded Linux Conference Europe 2016 schedule, I discovered that Samsung worked on it own implementation of a JavaScript engine for the Internet of Things: JerryScript. It is a full implementation of ECMAScript 5.1 standard written in C that can run on micro-controllers with less than 64KB RAM, and less than 200KB storage (160KB footprint with ARM Thumb-2 compilation). JerryScript is comprised of two main components: Parser and Virtual Machine (VM), with the parser performing translation of input ECMAScript application into byte-code than is then executed by the Virtual […]
Embedded Linux Conference & IoT Summit Europe 2016 Schedule
Embedded Linux Conference & IoT summit 2016 first took place in the US in April, but the events are now also scheduled in Europe on October 11 – 13 in Berlin, Germany, and the schedule has now been published. Even if you are no going to attend, it’s always interesting to find out more about the topic covered in that type of events, so I had a look, and created my own virtual schedule with some of the sessions. Tuesday, October 11 10:40 – 11:30 – JerryScript: An Ultra-lightweight JavaScript Engine for the Internet of Things – Tilmann Scheller, Samsung Electronics JerryScript is a lightweight JavaScript engine designed to bring the success of JavaScript to small IoT devices like lamps, thermometers, switches and sensors. This class of devices tends to use resource-constrained microcontrollers which are too small to fit a large JavaScript engine like V8 or JavaScriptCore. JerryScript is heavily […]
Puck.js Bluetooth 5.0 Ready Beacon is Programmable with JavaScript (Crowdfunding)
I first found out about Bluetooth LE tags in 2012 with SticknFind project, and since then many other companies have designed their own Bluetooth beacon mostly to find objects such as your keys or pets. Puck.js is also a Bluetooth 4.2 LE beacon, but has many more features including compatibility with the upcoming Bluetooth 5.0 standard, and some GPIOs programmable with JavaScript (Espruino implementation), and corresponding visual programming editor. Puck.js hardware specifications: Bluetooth Smart SoC – Nordic Semi nRF52832 ARM Cortex-M4F micro-controller @ 64 MHz Connectivity Bluetooth 4.2 LE/smart, Bluetooth 5.0 Ready; up to 80 meters range in open space On-chip NFC support Expansion – 8x through holes with 6x GPIOs, and 2x power signals Sensors – MAC3110 magnetometer, on-chip temperature sensor Misc – 1x tactile button, 4x LEDs (R, G, B, IR) Battery – CR2032 210mAh battery good for about a year (application dependent) Dimensions – 35mm diameter, 10mm […]
The Eclipse Foundation Releases Open Source Smart Home & IoT Gateway Frameworks, MQTT & oneM2M Implementations
The Eclipse Internet of Things (IoT) Working Group has released – or soon will be releasing – four open source projects for the Internet of Things with Eclipse SmartHome 0.8 framework, Eclipse Kura 2.0 IoT gateway framework, Eclipse Paho 1.2 MQTT & MQTT-SN clients, and Eclipse OM2M 1.0 implementation of oneM2M standard. Eclipse SmartHome 0.8 Eclipse SmartHome is a framework for smart home solutions that runs on embedded devices, including Raspberry Pi, BeagleBone Black or Intel Edison development boards. The latest SmartHome 0.8 release includes a new REST API and corresponding “Paper UI” administration interface, support for new devices including Sonos speakers, LIFX bulbs, Belkin WeMo devices, digitalSTROM systems, EnOcean devices (via a new OSGi EnOcean Base Driver) and others, as well as a new rule engine supporting templates for beginners, JavaScript for automation rules and graphical rule editors. You can find more details on Eclipse SmartHome page, and/or download SmartHome 0.8, […]
BBC Micro:Bit Board is Now Getting into the Hands of British Students
After several delays, BBC is now giving free Micro:Bit Bluetooth LE enabled boards to UK students with the goal of getting them interested in coding and electronics in a way that’s even easier and cheaper than using a Raspberry Pi board. Micro:bit specifications: MCU – Nordic nRF51822 Bluetooth SoC based on Cortex M0 core @ 16MHz with 16KB RAM 2x user buttons, 1x reset button 25x red user LEDs in a 5×5 matrix Connectivity – Bluetooth LE Sensors – Compass, magnetometer, accelerometer USB – 1x micro USB port for port and programming Expansion – 20-pin edge connector, 5x “rings” for 3V, GND, and 3 digital/analog I/Os Power – 5V via USB or battery port to connect two AAA batteries Dimensions – 4cm x 5cm There are four ways to “code” the board: Code Kingdoms JavaScript graphical ‘drag and drop’ and text-based programming, Microsoft Block Editor graphical, drag and drop code […]
Wio Link is an ESP8266 Board Designed to Make IoT Projects Easier (Crowdfunding)
There are already plenty of board or modules based on Espressif ESP8266 WiFi SoC, but if you don’t like soldering, or would rather avoid breadboards and some cables for your or your kids’ projects, Wio Link may be interesting, as all you need to is to connect Grove modules required for your applications to get started, and Seeed Studio also took care of the low level software part and a drag-and-drop mobile app is provided, so software programming has been made easy too. Wio Link hardware specifications: SoC – Espressif ESP8266EX Tensila SoC Storage – 4MB flash Connectivity – 802.11b/g/n WiFi, with WEP/TKIP/AES encryption support Expansion – 6x Grove connectors: 3x digital, 1x analog, 1x UART and 1x I2C (3.3V I/Os) Power Supply 5V via micro USB port 3.4 ~ 4.2V via external battery Output DC Current – 1000mA MAX Charge Current: 500mA MAX Dimensions – 55mm*48mm Weight – 26g […]