ESP32 LoRa

Read more

#MicroPython: ESP32 sending data using LoRa


LoRa (Long Range) is a patented digital wireless data communication technology. It was developed by Cycleo of Grenoble in France and then acquired by Semtech in 2012. Semtech defines the Lora Technology "as the DNA of IoT, which connects sensors to the Cloud and enables real-time communication of data and analytics that can be utilized to enhance efficiency and productivity".

To sum up, LoRa is a wireless data communication technology that enables very-long-range transmissions (more than 10 km in rural areas) with low power consumption. It uses license-free sub-gigahertz radio frequency bands as the 169 MHz, 433 MHz, 868 MHz for Europe and 915 MHz for North America. The technology can be divided in two parts:

  • LoRa: the physical layer,
  • LoRaWAN (Long Range Wide Area Network): the upper layers.

Here the code:

Python Code: https://github.com/lemariva/uPyLora

Raspad post banner min

Read more

#Reviews: RasPad - an open source tablet for Raspberry Pi


This is my first review on a product that I bought. I hope you enjoy it! Advices and tips are welcome! Please leave me them in the comment section!

Introduction

At the beginning of March I supported the Kickstarter campaign called RasPad. I pledged for the Super Early Bird - RasPad which includes:

  • Power Adapter
  • RasPad Without Raspberry Pi

I didn't want the RasPad Kit because I had a Raspberry Pi B+ that I wasn't using.

The estimated delivery was May 2018, but as it usually happens with the Kickstarter campaign, it was delayed and arrived last week (12.09.2018).

RasPad kit!
Fig. 1: RasPad


Rpi zero rt performance min

Read more

#Zerynth: ESP32 & Google IoT Core - Part 1: Sending data to the Cloud


There are lot of tutorials about connecting the ESP32 to a cloud service, but I planned to connect these boards using MicroPython directly to the cloud. That means, I didn't want to use a hardware or software bridge. I wanted to use the Google IoT Core, but MicroPython doesn't support JSON Web Token (JWT), which is needed for the device authentication. I tried to write the library myself, but it didn't work, because of the needed dependencies and the small memory available on the ESP modules. But, I found Zerynth. Zerynth supports JWT and using it, it is possible to connect the ESP32 directly to the Google IoT Core. The company Zerynth defined its product as "the middleware for IoT and Industry 4.0" and the ecosystem was stable as far as I tested it. The IDE (Zerynth Studio) can be a little bit improved, but it works well enough.

Zerynth is neither free nor open-source but every new user gets a welcome pack with 10 Zerynth VM licenses with FreeRTOS (5 Starter and 5 Premium) for free (more info here). If you need to register more sensors, you can use the store to purchase the additional licenses.

Important NOTE: I didn't get any money to promote Zerynth, I just wanted to use Python to connect the ESP32 directly to the Google IoT Core and this was the only option that I've found. If you know another one, please comment this post or send me a message. Thanks!


RPI Xenomai Patched Kernel

Read more

#Raspberry Pi: Real Time System - Xenomai Patching Tutorial for Kernel 4.14.y


The website of Xenomai says the following about it Xenomai:

Xenomai brings POSIX and traditional RTOS APIs for porting time-critical applications to Linux-based platforms. When the native Linux kernel cannot meet the response time requirements of the application, Xenomai supplements it with Cobalt, a small real-time infrastructure which schedules time-critical activities independently from the main kernel logic.

Checking the list of supported hardware, the Raspberry Pi 2, 3 B(+) ARM micro (BCM2835) is included.

This tutorial is almost the same as the tutorial for Preempt-RT patching, but in this case, we need to patch the kernel. The patched Preempt-RT sources are included in the official Raspberry Pi repository. If you need a tutorial for patching the kernel click on the link above.


Preempt-RT Real Time Linux

Read more

#Raspberry Pi: Real Time System - Preempt-RT Patching Tutorial for Kernel 4.14.y


The Preempt-RT tutorial article is the most visited post on my blog. Therefore, I decided to update the tutorial to make it cleaner, and to introduce some other possible modifications and tips for solving problems.

Preempt-RT is a popular patch for the Linux kernel to transform Linux into such a real-time operating system. There is another option to get this done, and that's Xenomai (tutorial and performance tests here).

Tiejun Chen, the main responsible for the official Raspberry-Pi-RT branch, has published a video about Preempt-RT here. It includes tips, results and tests.


Arduino nrf24

Read more

#ProjectDIVA: Arduino Mini Pro


This article extends the node tree of ProjectDiva to include an Arduino Pro Mini.

This article explains how to connect a Arduino Pro Mini to the nRF24Things application (Android Things). The code allows sending and receiving messages between the nodes. It uses the well-known RF24 libraries to create a sensor mesh, where the node 0 (in this case a Raspberry Pi running the Android Things application) actuates as a "DHCP" server and assigns the node addresses in the mesh.



Vision KIT

Read more

Unboxing AIY Vision Kit. A surprise like #KORGER!


Unboxing Google AIY Vision Kit picked up at Target Manhattan Herald Square -New York!- (Target.com) . Also for the fans of Google AIY Voice Kit keep watching! If anyone made the same experience, please advise!

@Target: It will be great to hear from you!
@Google: Congratulations on your choice of business partner!


If you are going to buy something in this shop, please double check the package and the contain before you leave the shop!

Update 9.07.2018: I managed to get the money back after a 45-minute chat session.

MicroPython

Read more

#MicroPython: Camera stabilisation application


To continue the series of posts "connecting sensors to MicroPython", this article is about the MPU6055 (you can use also the MPU9255, I am still waiting for the Chinese sensor package) and the WiPy 3.0. Combining the IMU sensor with the WiPy and two micro servos 9g, it is possible to stabilize a camera (tilt/rotate).

To calculate the compensation needed for the stabilisation, I added the umatrix, quaternion and ulinalg libraries to the project to make matrix multiplication and quaternion to Euler conversion. The ahrs library from Madgwick fusions the data of the accelerometer, gyroscope (and magnetometer, only with MPU9255) and allows to calculate the rotation of the IMU in quaternion coordinates. I rewrote (most of) the libraries to be compatible with MicroPython.


Hacking

Read more

#Hacking: Hey, YOU! Online SAS user! STOP now!


I got you! Please stop trying to hack my website! It's just a small blog! You are ruining my stats! ;)

Sorry to the other users!, but the last two weeks, someone was using the cloud system ofOnline SAS to try to hack my website. Yes, you heard that right! Someone is trying to hack this small blog! and I can tell you: That's illegal! ;) In the terms and conditions of Online SAS that is NOT allowed! ;P

Are Paris IP-addresses going to be the next Nigeria IP-addresses? abuseipdb.com has a lot of Paris IP-addresses declared as risky!

Leave a comment, if you have more info, and if you are the guy trying to hack my website, please STOP!!!


Sensortag android min

Read more

#TI: SensorTag working on Android 8.1


Thanks Sal for your comments on the article TI: Sensortag CC2650 . This is for you and those who are playing with TI SensorTag!

I've updated the repository of the Texas Instrument (TI) SensorTag CC2650. The repository can be found here . As you may know TI doesn't update the repository anymore. The original last open source repository of the application can be found here .

I've wrote an article last year as I migrated and updated the repository:

Today, I've updated the repository to support Android 8.1 (>6.0). The main modification was that Android >6.0 needs location permission for BLE to work. It was first reported as a bug but Google closed the report with status: Won't Fix (Intended Behavior):

To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans, 
your app must now have the ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permissions

Wemos micropython min

Read more

#Tutorial: Getting started with MicroPython: Sensors - Part 1


One of the most visited articles on my blog is the Getting started with MicroPython! tutorial. If you still don't know what is MicroPython and you want to start programming microcontroller boards (ESP32, ESP8266 etc.) using a small version of Python 3, you should look at that article. Don't expect to use machine learning or/and other big libraries (the available RAM and microcontroller performance is far away for that aim), but you can do some projects like these:

Android Things!

Read more

#ProjectDIVA: Android Things v1.0!


Google has released Android Things 1.0 this week to developers with long-term support for production devices.

I've updated today the two applications to run on this Android Things version:

Additional resources

Take a look at the full release notes for Android Things 1.0, and head over to the Android Things Console to begin validating your devices for production with the 1.0 system image. If you are looking for a Getting Started on Android Things, head over to these posts:

Docker embedded systems min

Read more

#Tutorial: Docker on Embedded Systems (Raspberry Pi & Beagleboard)


Docker is a technology that emerged for about 5 years and since then it has simplified the packaging, distribution, installation and execution of (complex) applications. Usually applications consist of many components that need to be installed and configured. Installing all needed dependencies and configuring them correctly is usually time consuming and frustrating for normal users and developers. Here is where Docker comes to simplify this process allowing developers and users to package these applications into containers.

A container image is lightweight, stand-alone, executable packages of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Let me say something before I continue: Docker is not only for application developers, if you are a "normal" user you are going to love it too.

All data needed or used in this tutorial is located on GitHub.

Docker Portainer

Read more

#Tutorial: Portainer for local Docker environments on Windows 10


Docker is a technology that emerges for about 5 years and simplifies the packaging, distribution, installation and execution of (complex) applications. Portainer is a management UI which allows you to easily manage your different Docker environments. If you are here because of the post title, I do not have to explain anymore about the Docker technology and the management tool Portainer. But, if you need to know more about these two topics, I leave you two links:

Let's start with the installation of Portainer for Docker management on Windows 10.

Android Things

Read more

#ProjectDIVA: Android Things 0.8.1 getting started


After the Hannover Fair 2018, I have this weekend some time and I decided to update the #ProjectDIVA to the last version of Android Things. Today the actual version is 0.8.1 DP and the Android Things Setup Utility has the version number 1.0.19.

I have two applications running on Android Things:

In Oct. 2017, I wrote a tutorial for Android Things, but I checked that the tutorial needed an update, and the repositories too. That's why I'm writing this post.