My love to electronics has started from my childhood. And if you ask me about: “What was your favorite toy in childhood?”, then I answer: “Most likely it was a soldering iron”. In that time I only had a minimal basic knowledge in electronics. But to understand that a circuit is broken due to a faulty resistor or transistor was not a big problem for me.
The most interesting moment of “electronic life” started several years ago. Then I was one of those people who have made their first “electronics steps” in the “Home Automation“. The first task which had to be resolved was a “Simplified Climate Control System“. The first way to find the solution for it was using OWFS based on “1-Wire” bus . This approach was cheap and easy to use. The fundamental hardware part was built on DS18B20 (1-Wire Digital Thermometer) and DS2408 (1-Wire 8-Channel Addressable Switch) chips. At the building stage in my house I embedded a lot of digital thermometers into the floor. This allowed me to control the floor’s temperature in the different rooms (because I didn’t have the radiators for heating 😎 ). The information about temperature, the ability to control heating collector and gas boiler, the several lines of Bash / PHP code helped me to create my first working version of “Climate Control System“. With it I could:
- setup different “Climate Programs”(Day/Night, Weekend, Holiday, Guests and any others modes)
- monitor and analyze history of temperature and heating collector (excellent graphs)
- control this system from outside of my house (via Internet with mobile application)
- reduce a gas consumption in several times 😀
The era of micro-controllers
The next task was linked with my “Air-conditioning System” (Mitsubishi Lossnay). I developed external device (based on Arduino) that fully replaced all functions which were available in original PZ-60DR-E. But the main difference between the original and my own version was that I could see all information on my laptop/mobile phone at any place and could manage all functions of Lossnay. Then I connected it with my “Climate Control System”. The further tasks required additional controlled nodes (based on Arduino, MBED, TI LaunchPads):
- to control of aqua (temperature monitoring, control CO2 equipment, replacing 30% of water each week in automation mode)
- lightening control
- energy consumption (high-load triggers)
- water consumption (water leak triggers)
- and many more.
Some of these nodes were connected to CAN bus, others through different bridges (Serial Port, Ethernet) connected directly to master PC. But finally, I had the several devices with different Firmware, Toolchain and backend interaction for each. At that time it was not easy to support this “electronic salad” from different micro-controllers day by day. I wanted to abstract at user’s level and manipulate with device’s Capabilities, but not with device’s registers, different libraries, compilers, drivers and etc. Then I realized that these devices want to communicate with each other in “common language”. In other words they should be located in a Common Network and should understand a Common Control Protocol.
“SmartAnthill” Project
The Common Network and the Common Control Protocol are very good at the beginning, but not for beginners. I asked a few of my friends (developers) about their opinion of the micro-controllers. Would they like to use them? And most of them answered: “Yes, of course, but I have no time to read the application notes, to learn SDK… but I would like to use it like “Plug and Play”. After many thoughts was born “SmartAnthill” …
SmartAnthill is not an alternative to any industrial protocol or Fieldbus, it is an addition to them. The main features of SmartAnthill are:
- to allow user to communicate with hardware device (micro-controller) as with Network Device from any High-Level programming language via High-Level API
- “Plug and Play”. User a connects device to the PC, customizes it via “SmartAnthill GUI” and then asks “SmartAnthill” to train this device with selected Capabilities. At this point, “SmartAnthill” should compile special firmware with selected features by user and install them.
- to extend already existing Fieldbus, like CAN bus
- to extend another “SmartAnthill Network”
- to allow developers to integrate the new family of microcontrollers in “SmartAnthill System” with minimal efforts
- and many more.
I understand, that is huge project and it requires many time and efforts… But only Open Source can realize our dreams or huge command of developers… Therefore, “SmartAnthill” should Be Opened for each of us 🙂
I pushed short information (README) to special “SmartAnthill Home Page”. You can find all detailed information here. Also, I have shared the several ideas about “SmartAnthill Network and Protocols” in the Main Documentation recently.
Your opinion
- What do you think about this idea and “SmartAnthill” in general?
- Would you like to use “SmartAnthill” for DIY projects?
- Which microcontrollers are interesting for you?
- Which Peripherals are interesting for you?
- Which “High-Level languages” do you want to use for communicating with “SmartAnthill”?