MicroPython is a lean and efficient implementation of the Python 3 targeted for microcontrollers. The MicroPython firmware can be installed on boards like the ESP32, ESP8266 and M5Stack. It makes it easy and simple to program digital electronics. If you want to program hardware using Python, this is your section!
Today there is a wide range of offer for home automation devices. A lot of sensors, actors etc. can be connected to the cloud and be controlled using Google Home, Amazon Alexa, your smartphone, etc. There are a lot of companies offering low cost devices, e.g. Sonoff, Tuya, Teckin etc. Most of these solutions are based on ESP32 or ESP8266, and all of them send data to cloud solutions usually deployed on Amazon services, and the data is only accessible using the Androi...
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 (mo...
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 mem...
MicroPython | 2 min | 3357
To continue the series of posts "connecting sensors to MicroPython", this article is about the MPU6050 (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
ulinalglibraries to the project to make matrix multiplication and ...
MicroPython | 4 min | 13278
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:
MicroPython | 1 min | 6274
While I was reading my getting stated tutorial about MicroPython again, I noticed that I've forgotten to tell something about dependencies or packages.
Here is possible to find some MicroPython packages. On the WeMos (ESP32) or the ESP8266, it is possible to install these packages using the
upippackage manager. The WiPy doesn't have the package.
To download the new packages, you need to connect the board to the Internet. I take the WeMos as example and typing the following, you can connect the board to your WiFi router:
ssid_ = <your_ssid> wp2_pass = <your wpa2 password> import network sta_...
MicroPython | 4 min | 1663
It has been a while since my last post! Sorry, I was a little bit busy and then I was on a business trip in Melbourne for the CDC2017 and then I had a week holiday in Bangkok. I will be posting some photos on the next days!
It's been a year now since I started this blog. It's a hard job to maintain it up-to-date but I still have fun writing and coding for this purpose! So let us start!
The first video that I published a year ago was using the Wipy2.0 and a WS2812b led strip...
At the beginning of October I wrote a blog article called White Hacking: WeMos and SquirelCrawl!. I used the WeMos (ESP32) and the firmware provided by Hacker Arsenal to do a captive portal. As you known, a captive portal is a web page which is displayed to newly connected users before they are granted broader access to network resources [wiki]. This can be used in combination with evil portals to obtain login credentials. The firmware provided by Hacker Arsenal has mul...
MicroPython | 5 min | 3184
I was surfing the services that Google offers, I found the Geolocation API. As Google describes the API: it returns a location and accuracy radius based on information about cell towers and WiFi nodes that the mobile client can detect. As I was writing the last post using MicroPython, I thought the WiPy 2.0/3.0 could be a nice "mobile client".
To use the API you need to get an API key from Google. As a standard user of the API, you get:
- 2,500 free requests per day, and
- 50 r...
I don’t have any Belkin WeMo system or Philips Hue light bulbs. However, I have two ESP32 running MicroPython (see my last article), and a W2812b LED strip, and I thought I should be able to say, "Echo/Alexa, turn on the kitchen light" or "Echo/Alexa, turn on the blue light" and It should work with this setup.
And... it works as you can see in this video!
If you are interesting in only using the code, then click here. Otherwise, you can read the complete story... ;)
MicroPython | 5 min | 22031
Another quick tutorial, this time for MicroPython on ESP32/ESP8266. You can find all the information that I'm writing in this post in different articles on the Internet but I've not found anything that summarizes all the topics. That is why I am writting this article. I included some links at the end of each topic to extend the info. Feel free to visit them, if you want more information, or write a comment I will try to reply it ASAP!
MicroPython | 2 min | 3852
Hi everyone! As soon as I saw the WS2812B led strip, I thought: doing a vu-meter with these LEDs would be a nice thing!.
I was looking for economical MEMS microphones with board (I didn't want to solder a board). I found two options: SPH0645LM4H and SPW2430.
The SPH0645LM4H uses an I2S interface and the SPW2430 has an analog output. The second board (SPW2430) has two outputs: AC pin which has a capacitor in series to eliminate the DC output of the IC, and the output of the IC (...
MicroPython | 1 min | 4753
Hi! I had two busy months, I've been writting my PhD-Thesis, and another paper and yeap... sorry! I forgot to update the blog!
Three weeks ago, I received a Ublox NEO-M8N GPS and I tested it with the code that I had. I said it should work, but as you know it always needs some modifications! The NEO-M8N supports GLONASS and GPS, so the $GP changes to $GN, e.g. $GPGGA (GPS) > $GNGGA (GPS+GLONASS).
The following changes were added:
# lines 604-606: if ...
MicroPython | 2 min | 5785
Hi again!... First of all:
I've just uploaded some code for the Wipy 2.0. I wanted to write some python code. That was why I took the Wipy 2.0 and programmed something like a weather report box. In this project the Wipy 2.0 reads the GPS coordinates via UART, then makes a web get request using the API of openweathermap, and after that the results are displayed on a LCD.
If you like this, please leave ...
MicroPython | 1 min | 1790
I wish you a Merry Christmas!!! and to celebrate this evening I've just uploaded a new repository for the Wipy 2.0. Some Christmas lights using the WS2812B!
Things used in this project
boot.py: add your ssid, wlan password, and configure the ip address. You need this file if you want to connect the Wipy 2.0 to your router, otherwise you can avoid copying it and the Wipy remains as an wlan access point.
main.py: you find some options here. The most impor...