Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : Quick Tutorial - Maximite/DM RF Mesh
Page 1 of 2 | |||||
Author | Message | ||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Quick Tutorial - Maximite/DM using RF mesh networking. I hope the following information is very useful and will keep you from wasting any extra money, like I did, not knowing ins and outs of RF mesh networking! The Maximite/DM MMBasic provides for a complete "standalone" hardware and software computer solution. I made a MMBasic application, which uses this inexpensive hardware configuration to monitor/log/control (with exceptions) a wireless mesh RF network ( via serial comport) which can work up to 3 miles (4828 meters) line of sight. Possible RF mesh application solutions and ideas (short list) ---> Imagine this ... Your mailbox is 25 meters away and people are tampering with your mail. You have a farm in which your yard barn is 300 meters away and there items be lifted and taken. A neighbor of yours 4000 meters (2.5 miles) away is leaving on vacation and needs his house watched. Your siblings keep leaving your house garage door open at night time. You need to measure light, humidity, temperature, and security statuses from a distance location. Note: If you don't have the proper RF mesh node "line of sight" then you need to buy extra mesh radios to hop and multi-hop to your required node distance designation!. By attaching a RF mesh radio to your Maximite/DM you could log, monitor and even control (only with SNAP Connect on PC) a long distance wireless mesh network from your home/office. Messages from the wireless sensor network would scroll on your "standalone" MM/DM VGA video screen and would/could be saved/logged to a SD memory card. You could also hook-up a loud piezo siren to immediately sound an alert notification. You could also obtain Synapse's Connect FREE? (one address only) software and even monitor/control over the Internet from any place in the world! I chose a very reliable, long distance, low cost, battery friendly, industrial, Synapse RF mesh radio module(s), Please Note: I do not work for Synapse nor I am not associated in any form or manner with this company! If you are interested is Synapse RF mesh networking, FIRST read everything on the Synapse website! The Synapse RF mesh is somewhat complex but simple to operate but you still need to read all the documents! WARNING ... The SNAPpy script language for the RF mesh engines is a subset of the computer language Python but fortunately Synapse has plenty of scripting examples and there is also a user/customer forum for additional help. BTW ... Humor --> Python "is not a snake" but computer programming language and code indentation is VERY IMPORTANT in Python or this snake will bite you! Synapse Website Links: http://www.synapse-wireless.com/index.php?mainID=1 http://www.synapse-wireless.com/snap-components/rf-engine The question will arise "why not use Xbee?" Simple, Xbee does not do RF mesh PERIOD! The next question "why not use the JeeNode?" The JeeNode is a over-priced,low power,low LOS, "hobby" ISM Arduino transceiver disguised as a reliable RF node. NO WAY! So what is so special about Synapse SNAP Mesh RF engines/radios? (My observation) The nodes are immediately able to communicate with each other - There is no such thing as a “network join time” with SNAP. You don't even need a Python user application script uploaded and running! (The Synapse nodes have a built-in microcontroller with RF engine) Any node can talk to any other node - There is no central “coordinator” node with SNAP. All nodes act like peers to each of the other peer nodes. No PC software required – There is no need for software installed on a PC to “coordinate” the nodes, they can think for themselves, BUT you still need the PC to upload/update/deploy/troubleshoot your Synapse RF Engines/Radio/Nodes. Using SNAPpy scripts, SNAP nodes can autonomously respond to changes in their environment of digital or analog sensor reading. If you a still interested in Synapse RF Mesh network, then you need to register (on the support forum) to get the FREE documentation and Free Portal PC software from the following link:http://forums.synapse-wireless.com/index.php Obtain the following Synapse Manuals .... Portal Ref. Manual SNAP Primer Ref. Manual SNAP Sniffer Users Guide EK2100 Users Guide SNAP Reference Manual Then obtain the free Portal software (or the latest) Portal-setup-2.4.31.exe After obtaining the doc's and software please, FIRST read the EK2100 User Guide even if you won't/don't want to purchase this RF evaluation kit. (See below) Then read the following docs in order. SNAP Primer Reference Manual, Portal Reference Manual and the SNAP Reference Manual. The other manuals are optional. To save users a bunch of money in setting up your minimum mesh network without the Synapse EK2100 evaluation kit, I recommend doing the following to save $$$: #1. Note: Distributors Arrow and Digi-Key is priced much higher than Future Electronics? #2. Do not buy the $114 USD evaluation kit (unless you really need/want it) The EK2100 evaluation kit comes with 2 RF100 Radios and one USB bridge (SNAP Stick USB Module) and one protoboard (SN171) -- 2 nodes total. The Synapse PC Portal software bridges one RF100 Radio on the USB Snap bridge to the external SN171 protoboard with another RF100 for RF mesh testing and evaluation. Reasons for not buying this evaluation kit. The original vintage RF100 SNAP Engine/Radio is fine BUT there are much better "other" RF Engines/Radios from the other Synapse vendors. This kit only provides the RF100 radios. <---<<<< Atmel has a better RF radio on the newer RF200P81/RF200 series, lower current draw for better battery operation, 1500 feet or 457 meters "line of sight", and most of all, to me, an internal A/D reference for reading its own battery voltage in battery operated systems. Check vendor specs/comparisons/matrix on Synapse website. Please note: You can have different RFx engines/radios in your mesh network BUT it would be nice to have a common RF Engine/radio vintage for easy script programming in your mesh wireless network application design. Reasons for buying this evaluation kit. You need the SN171 protoboard to upload the latest firmware to the RF radios using RS232 You need the SNAP Stick USB with radio so Portal can Upload the SNAPpy Python user application scripts to each RFx Engine/Radio. This Snap Stick USB can also be used as a troubleshooting packet sniffer and channel anaylzer. Note: There is a newer SNAP Stick USB called the SNAP Stick SS200 (By Atmel) which you also could use with the Portal software. (It has a Atmel built-in radio in the USB stick and its very rugged) To save alot of money, you to need find a cheaper clone board of the SN171 and a cheaper clone board of the SNAP Stick USB and build yourself your own evaluation "kit" and mesh network You should always need the minimum of 2 SNAP nodes for your mesh RF network. Of course, you could just get the Synapse radio and make sensor/status RF radio protoboards yourself but you need to be a electronic's hacker to be able to do this task. After searching the Internet, the Canadian company Solarbotics has several Synapse clone boards and even carries some Synapse radios. Note: These clone boards are not the same (reduced components) as the Synapse boards BUT they are much cheaper for those who can wire, solder and prototype circuits. For the SNAP Stick clone Solarbotics #39250 Solarbotics Synapse-to-FTDI Adapter Kit For the SNAP SN171 clone use #39255 Solarbotics Synapse Breakout Board Kit Cost savings. Synapse Evaluation EK2100 $114 USD (Digikey) Note: Kit comes with 2 RF100 radios My Synapse clone kit Solarbotics 39225 $5.50 USD Solarbotics 39250 $22.92 USD Solarbotics 51765 $19.00 x 2 $38 USD ---------------------------------------------------------- $66.42 USD total for clone kit $114 - 66.42 = $47.58 <---- Savings USD With my proto kit you get to choose the latest/newest RF mesh engines/radios. I chose the Atmel type mesh radios for the best battery operation and distance. There are other RF engine/radio vintages. See Synapse website for the selection matrix. Note: You could easily obtain other more powerful mesh radios with a RF power amp (battery draw is greater) with 2.5 miles (4026 meters) to 3 miles (4828 meters) line of sight! WARNING ... I don't know about Australian laws but I had to sign, in blood, an import/export doc from a North American distributior because in most Synapse Mesh Radios they have an optional "AES encryption" for mesh node security. Note: Synapse also has a default 16 char. node security without AES. I made up a small, simple MMBasic program that talks serially (3.3 VDC TTL) to a Synapse RF Engine/Radio/Node (TTL 3.3 VDC) I connected the MM/DM Com2: Tx with the Synapse Rx and the Synapse Tx with the MM/DM com2: Rx. Also, I connected both device grounds together. The MMBasic program checks for the com2 link between the MM/DM hardware and Synapse RF Engine/Radio/Node device being OK then processes all serial messages from the RF "Mesh Central" node to display on the VGA video and log to the SD memory card. Remote Synapse Nodes can talk to this Mesh Central node to relay status/control/messages via RPC (Remote procedure calls using SNAPpy Python Scripts) I know all of this sounds hard but with your PC Portal software you could easily click on any SNAPpy script function in any RF node to test your applications wirelessly. Also, you could wirelessly update/upload all your node scripts in any remote RF Snapse node. <----- Cool. I also, made a SNAPpy Python script to be uploaded into the Mesh Central Node that is connected serially to the MM/DM hardware. You will be totally amazed how easy and simple it is to construct and troubleshoot your Synapse RF mesh network after you read ALL the manuals! Look out for the 200 page SNAP user manual! In my RF mesh node network application, I am only monitoring/SD logging my mailbox, garage door, environment and security status on my MM/DM VGA LCD monitor. It's cool to watch all the peer RF nodes report their digital statuses back to my VGA LCD monitor. A word of WARNING ... My MM/DM wireless mesh network application only has 4 mesh RF radio nodes and is used for status only monitoring and SD logging. Any larger application would probably need a new engineering RF re-design review? Hope this quick Synapse mesh RF tutorial helps Enjoy ... |
||||
Bryan1 Guru Joined: 22/02/2006 Location: AustraliaPosts: 1344 |
Those 433mhz rf modules are available for around $10 a pair these days and by powering them off a higher voltage they do get a much better range. Sure thay aint a mesh or what ever node network but they do work WITH no further propriety software required. Say you do need to use a few then simply use a pic chip to be be the midway host and go about it much cheaper and have full control and the best part is it is all done DIY without the need to go spend a small fortune on someone elses idea. |
||||
djuqa Guru Joined: 23/11/2011 Location: AustraliaPosts: 447 |
Must remember although that the 433ISM has strict Max. Power limits and is also a shared band. VK4MU MicroController Units |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Those 433mhz rf modules are available for around $10 a pair these days and by powering them off a higher voltage they do get a much better range
In the states, the FCC (Federal Communications Commission) would inprision you for 6 months and fine you $10,000 for modifying any RF transceiver without the FCC permission. All RF tranceiver freqencies and transmit power outputs are closely monitored and all RF modules have to be certified by the FCC to prevent unwanted RF interference. The Australian (FCC equivalent gov. dept.) authorities must do something different to enforce strick RF frequency transmission and RF interference standards down under? |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Attached pictures of my MaxiMite Synapse RF mesh project ... Enjoy ... 2012-04-29_103550_MaxiMite_Synapse_RF_Mesh_Nodes_R2.pdf |
||||
vk4tec Senior Member Joined: 24/03/2012 Location: AustraliaPosts: 239 |
Very cool If I was doing it, I would use EasyRadio modules. 434 MHz - Andrew - Andrew Rich VK4TEC www.tech-software.net |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Is EasyRadio mesh? There is no comparison between the EasyRadio and Synapse Mesh |
||||
cwilt Senior Member Joined: 20/03/2012 Location: United StatesPosts: 147 |
The snap mesh looks interesting. Can you give an example of what the RAW node data looks like. |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Can you give an example of what the RAW node data looks like.
I really don't understand your question. You might want to ask Synapse your RAW node data question. They do have a user forum. In my application, the "central mesh" node is sending to the Maximite ASCII data for the VGA video and for SD logging. |
||||
cwilt Senior Member Joined: 20/03/2012 Location: United StatesPosts: 147 |
Does your ascii data include the node ID# or some way to identify where the data came from? |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Does your ascii data include the node ID# or some way to identify where the data came from?
Short answer - NO. In my application the garage door or mailbox does a RPC to the mesh central node. The mesh central node just "prints" a message via serial port to the MaxiMite. No address is embedded in this ASCII string. Each mesh radio knows about the others nearby and trys to communicates to reach the end point by using hops to get there. Its all transparent to the user. The node ID is transparent. Every Synapse node has its unique node address assigned to every Synapse RF node. Portal, the PC application software, will display each active RF node address. To reference another RF node via "remote procedure call" you need to use this unique "fixed" node address assigned to it. rpcSourceAddr() – Who made this Remote Procedure Call?
If a function on a node is invoked remotely (via RPC), then the called function can invoke function rpcSourceAddr() to find out the Network Address of the node which initiated the call. (If you call this function when an RPC is not in progress, it just returns None). I think you need to read the following docs from Synapse RF. Portal Ref. Manual SNAP Primer Ref. Manual <---<<<< EK2100 Users Guide SNAP Reference Manual |
||||
cwilt Senior Member Joined: 20/03/2012 Location: United StatesPosts: 147 |
Thank you for the information. I will RTFM. The reason I ask about node ID's is because my project is not a many to one, but many to several. |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Generic schematic of the Synapse RF200 Carrier Board in which I used to create 3 different PCB layouts for my Synapse RF mesh project. 2012-05-02_110709_Generic_RF200_Carrier_Schematic.pdf |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Attached is the PCB track image(s) for the 3 different types of printed circuit boards for my RF mesh project. Using any of the three types you also can create a unique Synapse RF mesh node for your specific application. I was able to create a garage door controller, a handheld remote controller, a mailbox RF node, and a mesh central node. Using the track image(s) and the generic RF200 schematic you could also re-create these PCB types in another printed circut layout program. Enjoy 2012-05-02_115611_PCB_Track_Image.pdf BTW ... I also included the RF200 mechanical module layout 2012-05-02_121209_Synapse-RF-Engine-RF200P81-SM200P81-Data-S heet.pdf |
||||
cwilt Senior Member Joined: 20/03/2012 Location: United StatesPosts: 147 |
I have read the manuals and will be ordering some samples for testing. Thanks for posting your experiences. Will be interesting to see how it handles 800+ nodes. |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
800 x $20 / node = $16,000 $USD. Better ask some of your highly technical questions to the Synapse experts on "their" board forum. Also, review what others have done with their Synapse wireless RF modules on their customer board forum. |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Here is my project software Snappy Python scripts (beta) for each RF node in my project. 2012-05-02_225828_Python.zip A quick examination of these Snappy Python scripts will reveal one odd software design requirement. There are no delays and while loops in Synapse scripts. ALL scripts run/finish until completion with no delays! <------<<<< This is because each mesh node needs to always be able to join with others in the transparent background mesh mode. Fortunately Synapse created "millis like timers" or "hooks" to accommodate delays. Digital switch inputs with "contact bounce" was the hardest to eliminate and design in these Python scripts and was, by far, the only major software problem(s) I had in this project. |
||||
cwilt Senior Member Joined: 20/03/2012 Location: United StatesPosts: 147 |
Already a member of their forum. Another oddity I found is there are no arrays. |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Another quirk, for analogs, there is only integer math - no floating point data type Someone did makeup a 32 bit math script on the forum. BTW ... For locals, in the US, there was a good write-up in the April and May issues of "Circuit Cellar" on the Synapse RF Mesh. |
||||
DuinoMiteMegaAn Senior Member Joined: 17/11/2011 Location: AustraliaPosts: 231 |
Attached is the schematic pdf of all of my Synapse RF Node (beta) project schematics. Enjoy 2012-05-03_091329_Mesh_Node_Schematics_r1.pdf |
||||
Page 1 of 2 |
Print this page |