{"id":377,"date":"2016-02-02T03:57:01","date_gmt":"2016-02-02T03:57:01","guid":{"rendered":"https:\/\/www.thebillplease.io\/play\/?p=377"},"modified":"2022-01-19T03:35:40","modified_gmt":"2022-01-19T03:35:40","slug":"rf-demo-settings","status":"publish","type":"post","link":"https:\/\/www.thebillplease.io\/play\/2016\/02\/02\/rf-demo-settings\/","title":{"rendered":"rf demo settings"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1571\" src=\"https:\/\/www.thebillplease.io\/play\/wp-content\/uploads\/2022\/01\/photo-2-1024x768-1.jpg\" alt=\"\" width=\"1024\" height=\"768\" srcset=\"https:\/\/www.thebillplease.io\/play\/wp-content\/uploads\/2022\/01\/photo-2-1024x768-1.jpg 1024w, https:\/\/www.thebillplease.io\/play\/wp-content\/uploads\/2022\/01\/photo-2-1024x768-1-300x225.jpg 300w, https:\/\/www.thebillplease.io\/play\/wp-content\/uploads\/2022\/01\/photo-2-1024x768-1-768x576.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p><a href=\"http:\/\/harizanov.com\/wiki\/wiki-home\/funky-v3\/\">Martin<\/a> has been creating awesome little funkys based off of the jeenode boards. I picked up a couple v3&#8217;s with the newish <a href=\"https:\/\/harizanov.com\/2015\/03\/using-rfm69cw-instead-of-rfm12b\/\">rfm69 chips<\/a> to try out their improved range and power consumption. After getting some help from Matt, we were able to have them talking to each other. Sensor A ran a version of the TimedSend example sketch while sensor B ran the rf12demo sketch found on Martin&#8217;s website.<\/p>\n<p>Sensor A configuration: nodeId: 1, band: 433Mhz, group: 212<br \/>\nSensor B configuration: nodeId: 17, band: 433Mhz, group: 212<\/p>\n<p>To configure sensor B, we typed into the serial monitor: 4b 212g 17i<\/p>\n<p>Available commands w\/demo sketch:<br \/>\ni &#8211; set node ID (standard node ids are 1..30)<br \/>\nb &#8211; set MHz band (4 = 433, 8 = 868, 9 = 915)<br \/>\no &#8211; change frequency offset within the band (default 1600) 96..3903 is the range supported by the RFM12B<br \/>\ng &#8211; set network group (RFM12 only allows 212, 0 = any)<br \/>\nc &#8211; set collect mode (advanced, normally 0)<br \/>\nt &#8211; broadcast max-size test packet, request ack<br \/>\n&#8230;, a &#8211; send data packet to node , request ack<br \/>\n&#8230;, s &#8211; send data packet to node , no ack<br \/>\nq &#8211; set quiet mode (1 = don&#8217;t report bad packets)<br \/>\nx &#8211; set reporting format (0: decimal, 1: hex, 2: hex+ascii)<br \/>\n123 z &#8211; total power down, needs a reset to start up again<\/p>\n<p>Remote control commands:<br \/>\n,,, f &#8211; FS20 command (868 MHz)<br \/>\n,, k &#8211; KAKU command (433 MHz)<\/p>\n<p><a href=\"http:\/\/jeelabs.net\/projects\/jeelib\/wiki\/RF12demo\">http:\/\/jeelabs.net\/projects\/jeelib\/wiki\/RF12demo<\/a><\/p>\n<p>Sensor A<\/p>\n<pre class=\"lang:arduino decode:true\" title=\"timedSend\">\/\/\/ @dir timedSend\n\/\/\/ Experiment with time-controlled periodic transmission.\n\/\/ 2011-06-24 &lt;jc@wippler.nl&gt; http:\/\/opensource.org\/licenses\/mit-license.php\n\n#define RF69_COMPAT 1 \/\/ define this to use the RF69 driver i.s.o. RF12\n\n#include &lt;JeeLib.h&gt;\n\nMilliTimer sendTimer;\nbyte pending;\nword seqnum;\n\nvoid setup () {\n  Serial.begin(57600);\n  Serial.println(\"\\n[timedSend]\");\n  rf12_initialize(25, RF12_433MHZ, 210);\n}\n\nvoid loop () {\n  if (rf12_recvDone() &amp;&amp; rf12_crc == 0 &amp;&amp; rf12_len == 2) { \/\/ we're not asking for ack back, so this will always be false.\n    sendTimer.set(0);\n    Serial.print(\" #\");\n    Serial.print(seqnum);\n    Serial.print(\" start: \");\n    Serial.print(rf12_data[0], DEC);\n    Serial.print(\" recvd: \");\n    Serial.println(rf12_data[1], DEC);\n  }\n  \n  if (sendTimer.poll(2096))\n    pending = 1;\n  \n  if (pending &amp;&amp; rf12_canSend()) {\n    pending = 0;\n    rf12_sendStart(0, \"hello!\", 6); \/\/ '0' are not asking for for an ack back\n    ++seqnum;\n  }\n}<\/pre>\n<p><strong>Martin&#8217;s low power lab sketches<br \/>\n<\/strong><br \/>\n<a href=\"https:\/\/harizanov.com\/2015\/04\/funky-v3-with-rfm69cw-using-lowpowerlabs-rf69-library\/\" target=\"_blank\" rel=\"noopener\">https:\/\/harizanov.com\/2015\/04\/funky-v3-with-rfm69cw-using-lowpowerlabs-rf69-library\/<\/a><\/p>\n<p>Low Power Lab<br \/>\n<a href=\"https:\/\/github.com\/LowPowerLab\/RFM69\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/LowPowerLab\/RFM69<\/a><br \/>\n<a href=\"https:\/\/github.com\/lowpowerlab\/lowpower\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/lowpowerlab\/lowpower<\/a><\/p>\n<p><em>Send<\/em><br \/>\n<a href=\"https:\/\/github.com\/mharizanov\/new_Funky\/blob\/master\/examples\/LowPowerLab_RF69_lib_test\/Struct_send\/Struct_send.ino\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/mharizanov\/new_Funky\/blob\/master\/examples\/LowPowerLab_RF69_lib_test\/Struct_send\/Struct_send.ino<\/a><\/p>\n<p><em>Receive<\/em><br \/>\n<a href=\"https:\/\/github.com\/mharizanov\/new_Funky\/blob\/master\/examples\/LowPowerLab_RF69_lib_test\/Struct_receive\/Struct_receive.ino\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/mharizanov\/new_Funky\/blob\/master\/examples\/LowPowerLab_RF69_lib_test\/Struct_receive\/Struct_receive.ino<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Martin has been creating awesome little funkys based off of the jeenode boards. I picked up a couple v3&#8217;s with the newish rfm69 chips to try out their improved range and power consumption. After&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":1571,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,9],"tags":[],"class_list":["post-377","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-internet-of-things","category-wireless-control"],"_links":{"self":[{"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/posts\/377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/comments?post=377"}],"version-history":[{"count":2,"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/posts\/377\/revisions"}],"predecessor-version":[{"id":1868,"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/posts\/377\/revisions\/1868"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/media\/1571"}],"wp:attachment":[{"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/media?parent=377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/categories?post=377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thebillplease.io\/play\/wp-json\/wp\/v2\/tags?post=377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}