In the earlier posts here, here and here, I was leading up to this build: The Color Catcher and Thrower. A Pro Trinket based glove that captures colors with TCS34725 and sends it out as MQTT message through ESP8266 for my WiFi Christmas Tree and other light fixtures to consume.
In the earlier blog post, I introduced Ponte and set it up locally on my windows PC. In this post I will demonstrate how I used the HttpClient on the Arduino Yun to read the MQTT messages and light up the LED strip using the Infineon Shield. This code does not use any of the MQTT Client libraries to subscribe to a topic. It just uses the HttpClient available on Arduino Yun’s bridge library and keeps polling the HTTP bridge on the Ponte server for message availability.
This post guides your through setting up a swap file for extending the RAM on the Arduino Yun. In the last blog post, Arduino Yun OpenWrt upgrade, sftp and nodejs , I installed nodejs on my Arduino Yun. Then when I tried to install some more node packages using node package manager (npm) i ran in to “out of memory” issue.
FATAL ERROR: Evacuation Allocation failed – process out of memory
As i get to understand more about the capabilities of Yun, i did some basic house keeping work on the Yun. I expanded the disc space with a micro SD card. Upgraded the OpenWrt-Yun firmware and installed sftp and nodejs.
Thanks to Element14 I got my Arduino Yun today. The first thing i noticed was the power supply. No barrel jack. So it has to be powered through Micro USB. That’s fine when connected to a computer. But if you are powering it from wall wart or from batteries then it has to be the right specification because of the lack of built in regulator.
I have been a fan of the audio programming language Chuck ever since i came across it few months ago. Its used by the Laptop Orchestras from the Princeton University and Stanford. For tinkerers like us its a wonderful tool to mix the hardware hacking with computer synthesized sound. I can’t play any instruments. But i can code. I understand math. This tool frees me to apply my programming skills to create new sounds. So i set out to combine MQTT, Processing and Chuck.
While waiting for my Arduino Yun to arrive for my WiFi Christmas Tree project, I decided to complete as many software components as possible. I had already setup a local MQTT broker and bridge. Now I am planning to use my PC and Mac for all the music and sound generation. They will act as MQTT subscribers. I will be running Processing sketches on the PC. So I decided to setup MQTT Client Libraries on Processing.
As I mentioned in the Interactive WiFi Christmas Tree introduction, I am waiting for parts to arrive from element14. Meanwhile I started to set up my MQTT infrastructure. My initial plan was to use the sandboxed MQTT Broker available at iot.eclipse.org at port 1883. Then I decided to explore more about the MQTT Broker and wanted to setup a local MQTT Broker on my PC and use it as the MQTT gateway for all my needs. After further research i ended up choosing the mosquitto broker. Since the Mosquitto broker allows bridging, it should be possible for me to selectively choose “topics” to forward to one or more of sandboxes available on the internet.