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% […]

GPU Accelerated Object Recognition on Raspberry Pi 3 & Raspberry Pi Zero

You’ve probably already seen one or more object recognition demos, where a system equipped with a camera detects the type of object using deep learning algorithms either locally or in the cloud. It’s for example used in autonomous cars to detect pedestrian, pets, other cars and so on. Kochi Nakamura and his team have developed software based on GoogleNet deep neural network with a a 1000-class image classification model running on Raspberry Pi Zero and Raspberry Pi 3 and leveraging the VideoCore IV GPU found in Broadcom BCM283x processor in order to detect objects faster than with the CPU, more exactly about 3 times faster than using the four Cortex A53 cores in RPi 3. They just connected a battery, a display, and the official Raspberry Pi camera to the Raspberry Pi boards to be able to recognize various objects and animals. The first demo is with Raspberry Pi Zero. […]

$30 BakeBit Starter Kit Adds Sensors & Buttons to Your NanoPi NEO & NEO Air Boards

FriendlyElec (previously FriendlyARM) launched NanoPi NEO and then NanoPi NEO Air board as respectively Ethernet and WiFi/Bluetooth connected boards for IoT applications. But so far, there was no ecosystem around the board, you had to use your own sensor modules, and write your own software to control them. This has now changed with the launch a BakeBit Starter Kit with twelve sensor modules, a NanoHat Hub add-on board designed for NanoPi boards, as well as BakeBit Library to control the hardware. The NanoHat Hub plugs into the two NanoPi NEO headers and provide 12 headers with 3x I2C interfaces, 3x analog interfaces, 2x UART interfaces, and 4x digital interfaces among which D3 and D5 support PWM, compatible with SeeedStudio Grove modules. You then have a choice of 12 modules to connect to the NanoHat Hub: OLED Module Ultrasonic Module Green LED Module Red LED Module LED Bar Module Rotary Angle […]

39 Euros FiPy Board Supports Sigfox, LoRa, LTE Cat M1/NB1, Bluetooth 4.2, and WiFi (Crowdfunding)

Long range LPWAN solutions have just started to hit the market, and there are so many standards such as Sigfox and LoRa that it’s difficult to know who will eventually be the winner, or if different standards will co-exist over the long term, and in a general sense it might not be so easy to decide which one is best suited to your project without experimenting first. Pycom has a solution to this problem, as they’ve made a board similar to LoPy with WiFi, Bluetooth, and LoRa, but instead included 5 long and short range IoT protocols: Sigfox, LoRa, LTE Cat M1 & Cat NB1, Bluetooth, and WiFi. Pycom FiPy board specifications: SoC – Espressif ESP32 dual core Tensilica L108 processors @ up to 160 MHz with BT 4.2 and WiFi System Memory – 4MB RAM Storage – 8MB flash memory Connectivity WiFi 802.11 b/g/n @ 16 Mbps up to […]

A Closer Look at Ingenu RPMA Alternative to LoRa or Sigfox LPWAN Standards & RPMA Development Kit

I’ve recently started to write a bit more about long range LPWAN standards for IoT applications, especially LoRa and Sigfox, as commercial networks are being launched, and relatively low cost hardware platforms are being introduced to the market. There are also other highly expected standards such as Weightless and LTE Cat M that will bring more competition to the market. Ingenu RPMA (Random Phase Multiple Access) is another available standard that’s been in deployment for a while, and based on an earlier comparison of  long range LPWAN standards, it comes with long range, supports up to 384,000 nodes per “sector”, operates in the unlicensed 2.4 GHz ISM band, and offers high combined uplink and downlink bandwidth than competitors. Ingenu recently contacted me and provided some more details and information about their technology and development kit. One of the documents includes an “independent analysis completed by ABI Research, Inc.” comparing features […]

GR-LoRa is a Reverse-Engineered Open Source Implementation of LoRa PHY

LPWAN standards such as LoRa or Sigfox allow you to transmit data over long distance, at ultra low power (up to 10 years on a AA battery), and for free if your use your own network (P2P or gateway), or a few dollars per years if you go through a network provider. The low cost is possible since those standards rely on 900 MHz ISM bands, meaning nobody has to pay millions of dollars to the government to obtain a license fee. Matt Knight looked at LoRa, and while Level 2 and 3 of the protocol (LoRaWan) has public documentation, Level 1 (LoRa PHY) is proprietary and the standard is proprietary. So he decided to reverse-engineer LoRa PHY using Microchip RN2903 based LoRa Technology Mote and Ettus B210 USB software defined radio, and software packages and tools such as Python and GNU Radio to successfully deliver GR-LoRa open source “GNU Radio […]

How to check HTTP Header and Connection Stats from the Command Line

A few days ago, I discussed with somebody whether a file was cached by Cloudflare or not, and this involved getting the HTTP header, and checking for CF-RAY field to see if data is going through one of Cloudflare data centers. This can be done with curl:

In the command above, -s stands for silent so that curl does not show the progress meter, -v stands for verbose to show the header, and -o /dev/null is used to discard the packet load. You can also use -I option (fetch the HTTP-header only) with curl, which – if all you need is the HTTP header – provides a cleaner output:

I also came across httpstat Python script recently via n0where, doing much of the same thing, except it also adds transfer statistics. It can be installed by downloading httpstat.py, or better using pip:

Let’s try it with this very […]

Getting Started with ReSpeaker WiFi IoT Board’s Audio Capabilities, Voice Recognition and Synthesis

ReSpeaker is a development board combining an Atmel AVR MCU, a MediaTek MT7688 WiFi module running OpenWrt, a built-in microphone, an audio jack, and I/O headers to allow for voice control and output for IoT applications. That means you could make your own Amazon Echo like device with the board and add-ons, use it as a voice controlled home automation gateway and more. The board was launched on Kickstarter a few days ago, and already raised $100,000 from about 100 backers, but I’ve received an early sample, so I’ll provide some more information about the firmware, and shows how to use with some Python scripts leveraging Microsoft Bing Speech API. You’ll need a micro USB to USB cable to connect your to computer (Linux, Windows, Mac OS…), and a speaker to connect to the board. Linux (OpenWrt) boots in a few seconds, and once it’s done all RGB LED will […]

Memfault IoT and embedded debugging platform