Monday, December 31, 2018

Updates in 1.7.6.3

New minor release is ready with following changes:
  • Full support for remote radio Authentication node including rather big change in RFM69 thread.
  • Update of WebUI, added JavaScript to Trigger menu to better show meaning of Pass option.
  • Update of WebUI, on Triggers and Timers overview. Many of the columns that are blocked via option, that is, they are now shown as blank instead of default for clarity.
  • Updated DigitalIO library most recent one and relevant OHS code.
  • Updated Ethernet library to most recent version (Now even newer Ethernet library available, need to do it again). 
  • Updated GSM library, there are some enhancements in parser.
  • Fixes in counting radio packets and other counters (++i vs. i++).
  • Few minor bugs fixed in WebUI. 

Saturday, December 8, 2018

Authentication unit over radio

Recently new user of OHS gateway has explored a slightly new way how use authentication units. That is normally until now, the authentication units are desired to be online when main unit is online. This was easily achieved when they were wired nodes with RS485 wired connection. The power and data were going to node over 4 wires, like in any industrial RS485 application. Same 4, or more, wires are usually installed in your house for old authentication units. And it is easy to use them switching old unit to new one.

But what to do in case you have no wires in walls and you want try it without too much construction work. Well, then use the radio as for sensors, right!.

For this reason there is new code example on GitHub. The code is build on RFM69 example, but adds parts of wired node where iButton, LEDs and speaker is used to complete a basic authentication node. I have tested it and it woks quite well without any issue. There were some changes needed in the gateway code, and I will soon post them to GitHub as version 1.7.6.3, along with other tweaks.

Of course there are some drawback over wired connection. It is recommended to have some battery backup for the node as well. That is use the USB node with charging and place a decent 1000mAh, or better bigger, battery. Still it can happen that the gateway is powered from it main 12V supply, and the authentication node battery is depleted and dies. In this case, when you arrive at home at this exact moment, you will not be able to disarm standard way, and you will face system alarm. It is probably not a security concern, but you'll annoy your neighbors a bit until you run to your gateway and turn it off. Thankfully there are two possible solutions. There is possibility to disarm over web interface, but unless you have battery backuped home network, you probably will not be able to do so. But, you can always disarm group over SMS command, this should work as GSM module is in the gateway.

Second problem can be radio connection. As for any sensor, the radio authentication can be out of reach of the gateway. While it is unlikely in normal house, you have to think about having at least RSSI of -75, so you are guaranteed to have room to some unexpected radio noise. It can be easily checked in web interface debug tab, incoming RSSI is reported on any received node packet.

Also, one have to keep the unit powered all the time from at least 500mA USB charger, some older cellular charger perhaps. As the node is not entering any sleep state, nor suspending the radio module, and consuming 20-40mA of power. It cannot be asleep, as it needs listen to receive all radio updates. Rest of power to 500mA is to charge the battery after power failure.

Still I think these small disadvantages can be accepted as trade off for fast deployment.



Tuesday, July 3, 2018

Radio node mini

There is now new basic sketch on GitHub that can be used as basis for integration of mini node to OHS. It registers 3 sensors, that is: battery voltage, TX power level and charging state. Sketch can be uploaded using Arduino IDE and selecting Arduino Pro Mini board, be careful to select proper crystal speed(16 or 8MHz) when uploading the sketch. Voltage selection in menu of Arduino IDE can be ignored as board works always with 3V3.

Just now I realized the board size is pretty close to standard SD card.

Also I will be mostly using simple wire antenna with this small boards. Here are length of wire that can be soldered directly to RFM69 pad:

433 1/4 wave = 164.7mm
433 1/2 wave = 329.4mm
433 full wave = 692.7mm

868 1/4 wave = 82.2mm
868 1/2 wave = 164.3mm
868 full wave = 345.5mm

915 1/4 wave = 77.9mm
915 1/2 wave = 155.9mm
915 full wave = 327.8mm

I personally use 868 modules and 1/4 wave length antennas.

Monday, April 23, 2018

Updates in 1.7.6.2

Here is list of updates in current release:
  • Fixed bug of log queue being full, when alert queue become full. When alert queue is filled with slow alerts, it issues a log entry. But the log processing did not free log queue if there was alert requested for queue overflow. Now gateway ignore alerts about alert queue full, and log queue correctly free its FIFO.
  • Added disarm button to group tab. This has various purposes, especially for groups that are taking care about smoke and flood detectors. 
  • Changed main_board.cpp into main_board.ino to better suite the Arduino IDE.
  • Moved and compiled from Arduino 1.6.9 to latest 1.8.5.

Tuesday, April 17, 2018

Arduino IDE upgrade

I have just updated instruction in Compiling section on right. This include complete setup of latest Arduino IDE and its environment to compile your own version of gateway firmware.

The move from 1.6.9 to 1.8.5 resulted to around 3KB smaller flash size, but on the other hand increased around 100B in RAM size. RAM size increase might be just result of different calculation of unused stack above NilRTOS environment.

Sunday, March 25, 2018

New wireless mini node

Lately I have stared to play even more with various remote sensors wirelessly
connected to OHS gateway. I have used my standard radio nodes, but its versatility is somehow to much for small wireless node. To save space and gain easier access to pins of MCU I have designed new node called Radio Node Mini. It resembles Arduino Pro Mini with ATmega328P, but it has place to mount RFM69 board on it. It also has micro USB connector for charging designed for 3.7 Li-Po or Li-On battery.

It is breadboard friendly and measures only 24.4 x 32.8mm (0.96 x 1.29 in). All available pins are taken out to board sides and marked as on Arduino board. It is 3V3 board and it is available with 16Mhz or 8Mhz quartz oscillator. As it is made to work with Li-Po or Li-On battery it features battery voltage measurement on A6 via 2:1 voltage divider, and also ability to detect charging state connected to pin D8. Pin D2 is not taken out as it will be used as interrupt pin for RFM69. It has also possibility to assign pin D4 as reset for the RFM69 via solder jumper labeled RR. Board is programmable via FTDI programmer. Note, that it is not able to take power from micro USB without battery, the charger is providing only minimal current to the board when it does not detect the battery. However FTDI programmer can be used also as power source while developing.

Board has excellent standby battery consumption within few uA when MCU and radio is asleep. It will last for months to year(s) depending on battery size and sleep conditions. Board is able to handle 500-2000mA battery. I especially like those flat 700-800mAh small quadrocopter batteries found on eBay. they are cheap, has similar size as the board, and have also protection circuit built in. Only drawback is that they have usually 100-150mAh less capacity then advertised.

Boards are also now available in my store for 7EUR fully assembled. As option you can choose radio module, pigtail and antenna.


Tuesday, February 20, 2018

Updates in 1.7.6.1

Here is list of updates in current release:
  • Added authentication (iButton key) handling into radio thread. That is, now both wired and wireless nodes are able to send arm/disarm keys to gateway. Keep in mind, that battery powered node is not a good option as authentication will not wait for you to recharge node battery :)
  • Removed Ethernet driver restart when MQTT server is not reachable, now only MQTT part is restarted. Will see how it goes in long time, if web interface will recover after network failure/power off.
  • Web interface for GSM modem is changed and simplified. Now there is also GSM model info included.
  • Startup sequence for GSM is prolonged and changed to comply with SIM800C start-up times.
  • SMS handling is changed to accommodate both SIM800 and SIM900.
  • Logger and alert thread is verified, and includes some slight changes. Email alert is moved as last, and needs to further work.
  • SMS command gateway bug fixed, it should correctly handle incoming SMS messages.
  • Updated Ethernet library to latest release.
  • Added special global trigger for all Battery type nodes. It is activated when voltages is bellow 3.6V and deactivated when above 4.16V. Alert handling setting is common with other triggers. That is, it follows your setting on global tab.
  • JavaScript was added in web interface of timers. Calendar and Period switch toggles On and Off part of controls that are meaningless.
  • Template function was added to all HTML input elements, reducing the code size ~ 1.5kB. But was taken by new code again :)
Gateway source and libraries are pushed to GitHub.