| chibiArduino | | Print | |
| Written by Akiba | |
| Saturday, 06 November 2010 | |
|
This is an open source software project based on the original Chibi wireless protocol stack . This project ports the Chibi protocol stack to the Arduino platform so that people familiar with the Arduino will be able to communicate wirelessly using inexpensive IEEE 802.15.4 radios. Chibi means "midget" in Japanese and its appropriate for this stack because it strips wireless communications down to the fundamental operations of initialization, send, and receive. The stack relies heavily on the radio hardware to do most of the timing specific parts of the protocol which allows it to run without an operating system or a scheduler. This also reduces the size of the software which currently requires approximately 4 kB of flash memory and approximately 300 bytes of RAM. 2012-11-02 v0.60 Release
Also packed everything in a zip file you can download here: Link to 2012-11-02_chibiArduino_v0.60 2011-11-17 v0.55 Release
2011-11-17 v0.54 Release
Link to 2011-11-17_chibiArduino_v0.54
2010-12-28 v0.51 Release
Link to chibiArduino Usage Guide v0.51 2010-11-06 v0.50 Release This is the initial release of the chibiArduino wireless protocol stack. It's a wireless 802.15.4 protocol stack targeted at the Arduino platform. Link to 2010-11-06_chibiArduino_v0.50 Link to chibiArduino Usage Guide v0.50
Additional Examples This is a temporary storage area for new examples that I or others may write but have not made it into the current release yet. Wireless Button This example shows how to read a button input and generate a command to toggle an LED on and off on a remote node.
Hits: 26119 Trackback(0)
Comments (4)
![]()
...
written by Kevin Townsend, February 06, 2012
Gitub is nice to use once you get everything setup properly. I resisted moving over from Google Code for quite a while, but I'm a happy convert now.
report abuse
vote down
vote up
Votes: +0
A simple Zigbee scanner to use with wsbridge written by Emmanuel, August 29, 2012
Hello,
I'm interested in trying your automatic channel scanning with chibiGetChannel(). Can you post the entire .pde (or .uno) file as the comment is cutted at the end of your sketch? Thany you. report abuse
vote down
vote up
Votes: +1
Write comment
|
*
* Add this to chibi.h
* uint8_t chibiGetChannel();
*
* This should be in chibi.cpp already
*
* uint8_t chibiGetChannel()
* {
* return chb_get_channel();
* }
*
*/
#include
int channelLow = 11;
int channelHigh = 26;
/ ******************************************************* *******************/
// Initialize
/ ******************************************************* *******************/
void setup()
{
// Init the chibi stack
chibiInit();
// Open the serial port at specified speed. For sniffing, we want to send data
// out the serial port as quickly as possible. On windows, 250kbps can be used.
// On linux, it only seems to like standard speeds up to 115200. To make things
// compatible on both platforms, I'm keeping the speed at 115200. If you want
// to boost the speed on a Windows system, use 250000 rather than 115200.
// Ex: Serial.begin(250000);
//
// Remember: If you change the speed here, make sure you change it on the application
// program as well.
Serial.begin(115200);
// Set Pin 13 to blink when we receive data
pinMode(13,OUTPUT);
// Set default channel to listen on
chibiSetChannel(channelLow);
}
/ ******************************************************* *******************/
// Loop
/ ******************************************************* *******************/
void loop()
{
int currentChannel;
currentChannel = chibiGetChannel();
// Sit on each channel for 1 second
// Change this if you want to wait longer on each channel
delay(1000);
// Check if any data was received from the radio. If so, then handle it.
if (chibiDataRcvd() == true)
{
int len;
byte buf[CHB_MAX_PAYLOAD];
// Get the data from the radio
len = chibiGetData(buf);
// If len is greater than CHB_MAX_PAYLOAD we are desynced
// Just drop the packet in this case and get the next one
// Or it ain't Zigbee which could cause other issues
if(len