Project

General

Profile

Software Links » History » Revision 9

Revision 8 (Hammel, 10 Jul 2017 14:26) → Revision 9/18 (Hammel, 11 Jul 2017 14:57)

h1. Software Links 

 * "Alexa Voice Service":https://developer.amazon.com/appsandservices/solutions/alexa/alexa-voice-service from Amazon 
 * "Awesome IoT":https://github.com/phodal/awesome-iot - links to lots of other stuff 

 h2. AI 

 * "Tensor Flow":https://www.tensorflow.org/ is an open source deep learning tool that might be useful for automated monitoring systems. 
 * "Theono":http://deeplearning.net/software/theano/ is also for deep learning, but is math oriented more than task oriented.    It's easier to get started with Tensor Flow. 

 h2. Protocols 

 * "Advanced Message Queuing Protocol":https://www.amqp.org/ (AMQP) 
 * "Constrained Application Protocol":http://coap.technology/ (CoAP) - see microcoap for Arduino 
 * "Extensible Messaging and Presence Protocol":http://xmpp.org/about-xmpp/history/ (XMPP) 
 * "OASIS Message Queuing Telemetry Transport":https://www.oasis-open.org/news/pr/oasis-members-to-advance-mqtt-standard-for-m2m-iot-reliable-messaging (MQTT) 
 * "Very Simple Control Protocol":http://www.vscp.org/ (VSCP) 
 * "OpenWSN":https://openwsn.atlassian.net/wiki/ - repository for open-source implementations of protocol stacks based on Internet of Things standards, using a variety of hardware and software platforms. 

 h2. OS 

 * "ARM mbed":http://mbed.org/ 
 * "Contiki":http://www.contiki-os.org/ 
 * "Spark":http://spark.github.io/ 
 * "RIOT":https://openwsn.atlassian.net/wiki/ - alternative to Arduino with CoAP included 

 h2. APIs 

 * "Qeo Tinq":https://github.com/brunodebus/tinq-core 

 h2. Home Automation 

 * "PrivateEyePi":http://projects.privateeyepi.com/ - General home automation using Raspberry Pi 
 * "RaZberry":http://razberry.z-wave.me/ - Using Raspberry Pi with Z-Wave devices 
 * "OpenHAB":http://www.openhab.org/ 
 * "Home Assistant":https://home-assistant.io/ 

 h2. Arduino 

 * "Deep Sleep Mode":http://www.esp8266.com/wiki/doku.php?id=esp8266_power_usage#sleeping_the_esp8266 
 ** "Door Alarm w/ deep sleep mode":https://github.com/chaeplin/esp8266_and_arduino/blob/master/_48-door-alarm-deepsleep/_48-door-alarm-deepsleep.ino - This allows using both a software timeout and an alarm interrupt to wake from deep sleep.    Design is similar to this "PIR-based implementation":https://github.com/esp8266/Arduino/issues/1488 ("diagram only":https://cloud.githubusercontent.com/assets/25507805/25678678/de4659a0-304a-11e7-90d4-a5c19241e7f6.png) 
 ** See these discussions 
 *** https://github.com/esp8266/Arduino/issues/1488 
 *** https://forum.makehackvoid.com/t/weather-station-wake-up-triggered-by-either-the-rtc-or-a-momentary-switch/972 
 *** https://github.com/esp8266/Arduino/issues/1381 
 *** https://github.com/chaeplin/esp8266_and_arduino/tree/master/_48-door-alarm-deepsleep 

 h2. Security 

 * "Securing Embedded Linux":https://www.linux.com/news/securing-embedded-linux 
 * "AES for embedded":https://github.com/spaniakos/AES/ (Arduino or Raspberry Pi) 

 h2. Software updates 

 Three parts to a software update: bootloader, kernel and rootfs/apps. 
 # This adds u-boot as 3rd stage bootloader to Pi. First stage (in hardware) doesn't change and 2nd stage (binary blobs) only change with new SD cards. 
 # u-boot is used to swap between kernels and partitions, test sanity of new images. 
 # kernel fallback capability is required 
 # rootfs/apps fallback capability is required 

 * "Building Murphy-compatible embedded Linux systems":https://www.kernel.org/doc/ols/2005/ols2005v1-pages-21-36.pdf 
 * "Implementing update system for embedded Linux":https://stackoverflow.com/questions/6937592/implementing-an-update-upgrade-system-for-embedded-linux-devices discussion on stackoverflow 
 * "On the field software updates":http://wiki.dave.eu/index.php/Deploying_Embedded_Linux_Systems#On-the-field_software_upgrades in Deploying Embedded Linux Systems 
 * "Updating Firmware in Linux Based Devices":http://www.linuxjournal.com/content/updating-firmware-linux-based-devices in Linux Journal, discusses use of A/B partitions and pointing boot loader at current release.