This is actually on an old project I wrote back in 2006 using uIP v0.9. It uses a DS1820 sensor to measure my storage room temperature and send it in UDP packet to my database server. Database server then has software to alert me if temperature gets too low during winter.
Project has now been rewritten to use my picoos-net library, which allowed me to add a simple web server to system quite easily. I still use original hardware, which is either Olimex LPC-E2129 or Embedded Artists Ethernet Quickstart board (this is not available any more I think). To simplify testing, it is also possible to compile project for native unix program.
Main task of system sets up networking and initializes OneWire bus. After that it periodically scans the bus for sensors, reads temperatures from those and sends a UDP packet to database server. Main loop calculates also hourly average from temperatures and maintains history of those averaged values for one day. Continue reading “Temperature monitoring”
uIP is a very small TCP/IP stack initially developed by Adam Dunkels. It is targeted to microcontroller environments and has very modest resource requirements. uIP itself doesn’t seem to be very active project nowadays, but it is available as part of Contiki OS.
This library started when I tried to adapt uIP to my arm microcontroller project. Initial work resulted in patches which took care about some alignment problems that code had in arm environment. As I later discovered that uIP source code actually now lives inside Contiki OS, I took the latest version of uIP from there and adapted my patches to it. Continue reading “uIP-based network layer for Pico]OS”
Pico]OS itself contains two layers: pico for essential operating system primitives like tasks and nano for higher-level things like dynamic memory allocation and console io. Built on those layers, this library contains a free FAT filesystem implementation from elm-chan.org and other miscellaneous stuff. Continue reading “µ-layer for Pico]OS”
CMSIS is a software library that can be provided by Arm Cortex-M chip manufacturer to help programmer to deal with hardware implementation. Instead of programming chip registers directly as usual, one just calls higher-level functions provided by CMSIS. Function calls are same for all chips but internal implementation can of course be different. Continue reading “Arm CMSIS & Pico]OS Cortex-M port”
Here are two libraries which can be used to access Maxim/Dallas OneWire devices like DS1820 temperature sensor. Most of code is freely available from Maxim/Dallas, I have only added Makefiles and filled in device-specific things like which GPIO pin on microcontroller is connected to OneWire bus. Continue reading “OneWire devices and Pico]OS”