NodeMCU ESP8266 - Plant watering control via Internet

I have setup pipes running in my balcony for all the plant pots from a pump, on the other side of the pump is the small water tank. Pump is controlled by a relay circuit. Relay is turned on or off from a GPIO pin coming out from ESP8266 based NodeMCU controller. Let me know if you need to build something similar, comment below. I will provide more details. Video shows this working.


NodeMCU ESP8266 - LED control through Internet

Among all the IoT maker boards, I liked the NodeMCU ESP8266 the most. This has a Microcontroller with Wi-Fi controller interfaced. There are number of tutorials on the internet how to accomplish the below project. Let me know if anyone needs help in doing it, I will be happy to share more details.

Video 1: Browser opened in phone 

Video 2: Browser opened in a desktop machine

Simulating IoT through a C# application (ThingSpeak)

ThingSpeak is one of the best IoT backend interfaces which can be used to pass the data between any two devices via network. This is particularly easy to use where there applications such as monitoring sensor data and/or controlling devices. Here is the video showing for every 20 seconds, C# application updates a private channel's one of the field's value. This simulates a sensor updating its value on ThingSpeak. Application also queries for live feed showing entry for latest value updated. This simulates the monitoring action for the sensor value.


Auto Hot Key Scripting

Have you ever played those addictive games on Facebook. The Farmville and the Zoo World. After some months of play, it gets non-handy to go online to harvest crops on time in fear of them getting withered.

Being a programming hobbiest, I found a way, my scripts replace my presence or manual intervention for being active on the game.

Autohotkey package is what I used.

In this century, finding a problem statement is more challenging than finding a solution for it!

Human Machine Interaction through Laser Gesture Recognition

It is the Open Computer Vision (OpenCV) library. It fascinated me to enter into the world of HCI (Human Computer Interface). There is no limit to what can be implemented under this genre using the library. I started with capturing an image from webcam with a keyboard keypress. Added a few processing options, library has built-in APIs for possible Image Processing techniques. Then turned to processing live stream. Under which Motion Detection, detecting colours, face recognition I could implement. As I could locate brightest pixel in the stream, I could detect a laser pointer's location which made me come up with small miscellaneous experiment of controlling Windows media player from a laser pointer. The video shows the same.



The next step is to recognize gestures to trigger applications.

LED 7-Segment Display Interfacing with AT89C51


The microcontroller is most flexible electronic device more likely a processor which can be programmed and setup compactly to control any kind of system.System can be a physical area with wide number of devices installed to a small electronic system having a small display,keypad.
7segment display consists of 8 LEDs embedded into a cuboid.These LEDs are either common anode or common cathode in nature.In common cathode,the respective pin needs high on it to turn it ON.Whereas in common anode the low on the pin turns the respective LED segment ON.

Now the interface of a 7segment LED display to a microcontroller is as shown in figure 2.

/Content will be updated soon/

Here is the video showing the working of microcontroller displaying 0,1,2,3,4,5,6,7,8,9,S,h,r,e,e,S,h continuously..

Control LEDs from Parallel Port

It's interesting to interface the peripherals with the pc and control them. And I realized LEDs are the better to start and test with. Printer port if used for applications other than connecting a printer is called by the name parallel port. First thing to start along was to study the nature of parallel port. It has 8 data pins, communicated by using register at address 0x378 in almost all PCs. Usually its called LPT1 port.
The code would fail, if we try to access port in windows xp. This is because OS doesn't allow user mode programs to directly communicate with I/O ports. So i used a simple program called userport.exe.

1)it comes with a .sys file which is to be copied to 'drivers' directory in 'system32' in 'windows' directory!
2)next step is to run userport.exe in which the address range to be used(0378 to 037F) is fed.
3)and last step is to write code for control. I used Turbo C to write programs for it.
Watch the videos,

This shows the controlling of 3 LEDs with the 3 keys of keyboard!



Programming the LED 7-segment display