Functional Programming with IOT – Chapter 2 : Controlling multiple ESP-01

In my previous blog posts, i was verifying the theory of using a functional programming language like Clojure with a very well-known IOT module ESP8266. It was a great success and we can see that we can now control that module’s GPIO pins by sending HIGH and LOW signals. Now begins the next chapter. In this chapter we…


Functional Programming with IOT (FIOT) – Day 13

After yesterday’s success with Firmata installation i decided to progress and test the ESP-01 with Clojure.  The idea was to test each pin and see if i can send HIGH and LOW signals on the output. I wrote the following piece of code to test it. The full project can be found on my github.…


Functional Programming with IOT (FIOT) – Day 12 – Firmata Success !!!

Alhamdulilah ! Success! After 12 days of continuous struggle of trying to make Firmata work with ESP-01, it is finally working. The following screenshot is a working proof. So here is how i did it, I cleaned up all the Firmata instances from Arduino. This means i deleted Firmata from Libraries folder, in my case the…


Functional Programming with IOT (FIOT) – Day 11

Today, i am going to start with a fresh mind-set and i am going to reiterate some of the things just to make sure i am going in the right direction. I started with the basic sanity tests. Test # 1 : Hardware  So i have ESP-01, i have just verified that i haven’t burnt…


Functional Programming with IOT (FIOT) – Day 9 and 10

I started with a sketch for programming ESP-01 because it was quick and easy way to explore the Frtizing software. I really thought it was a simulator and it would make my life easier by just letting me work on my laptop until the whole project is complete. But i couldn’t find the “play” button.…


Functional Programming with IOT (FIOT) – Day 5,6,7 and 8

Weekdays are hard for me to document the approach because i only get half an hour in my lunch time to work on this project and then when you are stuck you just want the answer before you can write something. I finally decided to put my tools down and summarise the approaches and findings.…


Functional Programming with IOT (FIOT) – Day 4

So here is the working code, which is suppose to talk to StandardFirmata in the ESP8266 and blink an LED. The code compiles properly and runs without any issues. But i don’t see any LED blinking. Another approach i took was to verify if StandardFirmata is working. I used the Binary file from the project…


Functional Programming with IOT (FIOT) – Day 3

Well the direct compilation of the code didn’t work. I had to do some tweaks to make it work which included copying the librxtxSerial.jnilib from target to /Library/Java/Extensions. $ cp $PROJECT_HOME/firmata-test/target/native/macosx/x86_64/librxtxSerial.jnilib /Library/Java/Extensions/ After fixing that issue the project was running with the following warning. WARNING: RXTX Version mismatch Jar version = RXTX-2.2pre2 native lib Version = RXTX-2.2pre3…


Functional Programming with IOT (FIOT) – Day 2

Today is the day 2 of the FIOT, as discussed in the previous post i shall be exploring the ESP8266 with a mainstream software engineering functional programming(FP) language. In my current employment, we work in Clojure due to the language’s pureness and immutability. There is a discussion on StackOverflow that you can follow to read more…


Functional Programming with IOT (FIOT) – Day 1

Today, i have started exploring how we can use Functional Programming with hardware. Typically, hardware programming is done in C, Assembly or dialects of C/C++. It is easy to compile the code written in those languages and convert it into binary to burn it onto the hardware as a new firmware. A simple google search will…