Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. My Project
  3. Adafruit CC33000 WifiGateway

Adafruit CC33000 WifiGateway

Scheduled Pinned Locked Moved My Project
10 Posts 2 Posters 3.1k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    Connor Rigby
    wrote on last edited by
    #1

    Hello i don't know if this has been done before but i just wanted to throw my project out there. It isnt commented very well and im sorry but most of it comes from the Ethernet Gateway code anyway so i think it is easy enough to figure out.

    anyway here it is. Wiring is fairly simple, wire spi lines in paralles, then just follow the d#defines.
    https://github.com/pressy4pie/wifigateway/tree/master

    1 Reply Last reply
    0
    • C Offline
      C Offline
      Connor Rigby
      wrote on last edited by
      #2

      Also just a note it hits 98% of memory on an UNO. So any further revisions are almost garanteed to need a mega or similar.

      barduinoB 1 Reply Last reply
      0
      • C Connor Rigby

        Also just a note it hits 98% of memory on an UNO. So any further revisions are almost garanteed to need a mega or similar.

        barduinoB Offline
        barduinoB Offline
        barduino
        wrote on last edited by barduino
        #3

        @Connor-Rigby very interesting.

        A good candidate to port to 1.6, if you're interested check this out http://forum.mysensors.org/topic/2709/mysensors-wifi-gateway-with-arduino-uno-and-cc3000

        Thanks for sharing

        1 Reply Last reply
        0
        • C Offline
          C Offline
          Connor Rigby
          wrote on last edited by Connor Rigby
          #4

          I haven't updated to 1.6 yet but I'll try it out tomorrow. Right now it needs a bit of self healing stuff in the actual loop itself. I had to remove some of the original Ethernet gateway code that should be added back. This was more of proof of concept. It does work but after the connection drops for any reason its hard to get it running again without resetting both the controller and the gateway.

          Edit: im using the development branch at mysensors now so if anyone wants to try it out, check here

          1 Reply Last reply
          0
          • C Offline
            C Offline
            Connor Rigby
            wrote on last edited by
            #5

            Bump check the edit on the last post

            barduinoB 2 Replies Last reply
            0
            • C Connor Rigby

              Bump check the edit on the last post

              barduinoB Offline
              barduinoB Offline
              barduino
              wrote on last edited by
              #6

              Hey @Connor-Rigby

              I will try it for sure.

              But one question when I go to https://github.com/PressY4EKG/Arduino/blob/2177387fc4f388de02f60cd4698f62e4a200fefe/libraries/MySensors/core/MyHwCC3000.cpp

              Its empty...

              Does this mean you're using the CC3000 libraries directly?

              C 1 Reply Last reply
              0
              • C Connor Rigby

                Bump check the edit on the last post

                barduinoB Offline
                barduinoB Offline
                barduino
                wrote on last edited by barduino
                #7

                Hey @Connor-Rigby

                Here are my findings...

                Compilation perfect, no issues.

                The changes to the gateway example I used were just pin configurations:

                #define MY_RF24_CE_PIN 9
                #define MY_RF24_CS_PIN 10
                #define MY_RF24_CHANNEL  111
                ...
                #define MY_CC3000_CS 8
                #define MY_CC3000_VBAT 5
                #define MY_CC3000_IRQ 3
                
                

                It starts up like this:

                255;3;0;9;Starting gateway (RNNGA-, 2.0.0-beta)
                0;255;3;0;9;Radio init successful.
                Starting WiFi
                CC3000 Started
                Connected
                Got IP
                0;255;3;0;9;Init complete, id=0, parent=0, distance=0
                

                All good.
                I wanted to tell me what was my IP address so I've added these lines to the MyGatewayTransportEthernet.ccp

                MY_SERIALDEVICE.print(F("\nIP Addr: ")); cc3000.printIPdotsRev(ipAddress);
                MY_SERIALDEVICE.print(F("\nNetmask: ")); cc3000.printIPdotsRev(netmask);
                MY_SERIALDEVICE.print(F("\nGateway: ")); cc3000.printIPdotsRev(gateway);
                MY_SERIALDEVICE.print(F("\nDHCPsrv: ")); cc3000.printIPdotsRev(dhcpserv);
                MY_SERIALDEVICE.print(F("\nDNSserv: ")); cc3000.printIPdotsRev(dnsserv);
                MY_SERIALDEVICE.println();
                

                But the results were not what I expected

                255;3;0;9;Starting gateway (RNNGA-, 2.0.0-beta)
                0;255;3;0;9;Radio init successful.
                Starting WiFi
                CC3000 Started
                Connected
                Got IP
                
                IP Addr: 8.0.0.1
                Netmask: 0.255.252.225
                Gateway: 168.1.6.0
                DHCPsrv: 0.0.168.168
                DNSserv: 225.252.255.115
                0;255;3;0;9;Init complete, id=0, parent=0, distance=0
                

                Strange...
                Any way I've fixed the ip address on my router
                0_1454263821040_upload-af65d368-3fba-4abc-897e-ff9cd3b6d411

                and can ping it from a terminal

                RVB:~ rvb$ ping 10.0.0.7
                PING 10.0.0.7 (10.0.0.7): 56 data bytes
                64 bytes from 10.0.0.7: icmp_seq=0 ttl=64 time=4.674 ms
                64 bytes from 10.0.0.7: icmp_seq=1 ttl=64 time=19.361 ms
                64 bytes from 10.0.0.7: icmp_seq=2 ttl=64 time=4.335 ms
                64 bytes from 10.0.0.7: icmp_seq=3 ttl=64 time=9.256 ms
                64 bytes from 10.0.0.7: icmp_seq=4 ttl=64 time=7.163 ms
                64 bytes from 10.0.0.7: icmp_seq=5 ttl=64 time=10.054 ms
                64 bytes from 10.0.0.7: icmp_seq=6 ttl=64 time=24.724 ms
                64 bytes from 10.0.0.7: icmp_seq=7 ttl=64 time=4.882 ms
                ^C
                --- 10.0.0.7 ping statistics ---
                8 packets transmitted, 8 packets received, 0.0% packet loss
                round-trip min/avg/max/stddev = 4.335/10.556/24.724/7.046 ms
                

                I'm also able to send commands via MYSController
                0_1454263909893_upload-5f627acc-db71-4c57-a234-60cf066bfcf9

                0;255;3;0;9;Eth: connect
                0;255;3;0;9;Eth: 0;0;1;0;0;123
                0;255;3;0;9;Eth: 0;0;1;0;0;456
                0;255;3;0;9;Eth: 0;0;1;0;0;789
                

                So Kudos Mr. @Connor-Rigby you did it, excellent work!!

                And since we love pictures...

                0_1454264565377_IMG_0388.JPG

                Cheers

                1 Reply Last reply
                0
                • barduinoB barduino

                  Hey @Connor-Rigby

                  I will try it for sure.

                  But one question when I go to https://github.com/PressY4EKG/Arduino/blob/2177387fc4f388de02f60cd4698f62e4a200fefe/libraries/MySensors/core/MyHwCC3000.cpp

                  Its empty...

                  Does this mean you're using the CC3000 libraries directly?

                  C Offline
                  C Offline
                  Connor Rigby
                  wrote on last edited by
                  #8

                  @barduino said:

                  Hey @Connor-Rigby

                  I will try it for sure.

                  But one question when I go to https://github.com/PressY4EKG/Arduino/blob/2177387fc4f388de02f60cd4698f62e4a200fefe/libraries/MySensors/core/MyHwCC3000.cpp

                  Its empty...

                  Does this mean you're using the CC3000 libraries directly?

                  Yeah it is. i was going to dump the code into that file and header but i decided to just usee the library.

                  @barduino said:

                  Hey @Connor-Rigby

                  Here are my findings...

                  Compilation perfect, no issues.

                  The changes to the gateway example I used were just pin configurations:

                  #define MY_RF24_CE_PIN 9
                  #define MY_RF24_CS_PIN 10
                  #define MY_RF24_CHANNEL  111
                  ...
                  #define MY_CC3000_CS 8
                  #define MY_CC3000_VBAT 5
                  #define MY_CC3000_IRQ 3
                  
                  

                  It starts up like this:

                  255;3;0;9;Starting gateway (RNNGA-, 2.0.0-beta)
                  0;255;3;0;9;Radio init successful.
                  Starting WiFi
                  CC3000 Started
                  Connected
                  Got IP
                  0;255;3;0;9;Init complete, id=0, parent=0, distance=0
                  

                  All good.
                  I wanted to tell me what was my IP address so I've added these lines to the MyGatewayTransportEthernet.ccp

                  MY_SERIALDEVICE.print(F("\nIP Addr: ")); cc3000.printIPdotsRev(ipAddress);
                  MY_SERIALDEVICE.print(F("\nNetmask: ")); cc3000.printIPdotsRev(netmask);
                  MY_SERIALDEVICE.print(F("\nGateway: ")); cc3000.printIPdotsRev(gateway);
                  MY_SERIALDEVICE.print(F("\nDHCPsrv: ")); cc3000.printIPdotsRev(dhcpserv);
                  MY_SERIALDEVICE.print(F("\nDNSserv: ")); cc3000.printIPdotsRev(dnsserv);
                  MY_SERIALDEVICE.println();
                  

                  But the results were not what I expected

                  255;3;0;9;Starting gateway (RNNGA-, 2.0.0-beta)
                  0;255;3;0;9;Radio init successful.
                  Starting WiFi
                  CC3000 Started
                  Connected
                  Got IP
                  
                  IP Addr: 8.0.0.1
                  Netmask: 0.255.252.225
                  Gateway: 168.1.6.0
                  DHCPsrv: 0.0.168.168
                  DNSserv: 225.252.255.115
                  0;255;3;0;9;Init complete, id=0, parent=0, distance=0
                  

                  Strange...
                  Any way I've fixed the ip address on my router
                  0_1454263821040_upload-af65d368-3fba-4abc-897e-ff9cd3b6d411

                  and can ping it from a terminal

                  RVB:~ rvb$ ping 10.0.0.7
                  PING 10.0.0.7 (10.0.0.7): 56 data bytes
                  64 bytes from 10.0.0.7: icmp_seq=0 ttl=64 time=4.674 ms
                  64 bytes from 10.0.0.7: icmp_seq=1 ttl=64 time=19.361 ms
                  64 bytes from 10.0.0.7: icmp_seq=2 ttl=64 time=4.335 ms
                  64 bytes from 10.0.0.7: icmp_seq=3 ttl=64 time=9.256 ms
                  64 bytes from 10.0.0.7: icmp_seq=4 ttl=64 time=7.163 ms
                  64 bytes from 10.0.0.7: icmp_seq=5 ttl=64 time=10.054 ms
                  64 bytes from 10.0.0.7: icmp_seq=6 ttl=64 time=24.724 ms
                  64 bytes from 10.0.0.7: icmp_seq=7 ttl=64 time=4.882 ms
                  ^C
                  --- 10.0.0.7 ping statistics ---
                  8 packets transmitted, 8 packets received, 0.0% packet loss
                  round-trip min/avg/max/stddev = 4.335/10.556/24.724/7.046 ms
                  

                  I'm also able to send commands via MYSController
                  0_1454263909893_upload-5f627acc-db71-4c57-a234-60cf066bfcf9

                  0;255;3;0;9;Eth: connect
                  0;255;3;0;9;Eth: 0;0;1;0;0;123
                  0;255;3;0;9;Eth: 0;0;1;0;0;456
                  0;255;3;0;9;Eth: 0;0;1;0;0;789
                  

                  So Kudos Mr. @Connor-Rigby you did it, excellent work!!

                  And since we love pictures...

                  0_1454264565377_IMG_0388.JPG

                  Cheers

                  yeah the cc3000 handles all that information weird. on monday ill try to get that going. i decided i wasnt actually going to use this on my project anyway.

                  barduinoB 1 Reply Last reply
                  0
                  • C Connor Rigby

                    @barduino said:

                    Hey @Connor-Rigby

                    I will try it for sure.

                    But one question when I go to https://github.com/PressY4EKG/Arduino/blob/2177387fc4f388de02f60cd4698f62e4a200fefe/libraries/MySensors/core/MyHwCC3000.cpp

                    Its empty...

                    Does this mean you're using the CC3000 libraries directly?

                    Yeah it is. i was going to dump the code into that file and header but i decided to just usee the library.

                    @barduino said:

                    Hey @Connor-Rigby

                    Here are my findings...

                    Compilation perfect, no issues.

                    The changes to the gateway example I used were just pin configurations:

                    #define MY_RF24_CE_PIN 9
                    #define MY_RF24_CS_PIN 10
                    #define MY_RF24_CHANNEL  111
                    ...
                    #define MY_CC3000_CS 8
                    #define MY_CC3000_VBAT 5
                    #define MY_CC3000_IRQ 3
                    
                    

                    It starts up like this:

                    255;3;0;9;Starting gateway (RNNGA-, 2.0.0-beta)
                    0;255;3;0;9;Radio init successful.
                    Starting WiFi
                    CC3000 Started
                    Connected
                    Got IP
                    0;255;3;0;9;Init complete, id=0, parent=0, distance=0
                    

                    All good.
                    I wanted to tell me what was my IP address so I've added these lines to the MyGatewayTransportEthernet.ccp

                    MY_SERIALDEVICE.print(F("\nIP Addr: ")); cc3000.printIPdotsRev(ipAddress);
                    MY_SERIALDEVICE.print(F("\nNetmask: ")); cc3000.printIPdotsRev(netmask);
                    MY_SERIALDEVICE.print(F("\nGateway: ")); cc3000.printIPdotsRev(gateway);
                    MY_SERIALDEVICE.print(F("\nDHCPsrv: ")); cc3000.printIPdotsRev(dhcpserv);
                    MY_SERIALDEVICE.print(F("\nDNSserv: ")); cc3000.printIPdotsRev(dnsserv);
                    MY_SERIALDEVICE.println();
                    

                    But the results were not what I expected

                    255;3;0;9;Starting gateway (RNNGA-, 2.0.0-beta)
                    0;255;3;0;9;Radio init successful.
                    Starting WiFi
                    CC3000 Started
                    Connected
                    Got IP
                    
                    IP Addr: 8.0.0.1
                    Netmask: 0.255.252.225
                    Gateway: 168.1.6.0
                    DHCPsrv: 0.0.168.168
                    DNSserv: 225.252.255.115
                    0;255;3;0;9;Init complete, id=0, parent=0, distance=0
                    

                    Strange...
                    Any way I've fixed the ip address on my router
                    0_1454263821040_upload-af65d368-3fba-4abc-897e-ff9cd3b6d411

                    and can ping it from a terminal

                    RVB:~ rvb$ ping 10.0.0.7
                    PING 10.0.0.7 (10.0.0.7): 56 data bytes
                    64 bytes from 10.0.0.7: icmp_seq=0 ttl=64 time=4.674 ms
                    64 bytes from 10.0.0.7: icmp_seq=1 ttl=64 time=19.361 ms
                    64 bytes from 10.0.0.7: icmp_seq=2 ttl=64 time=4.335 ms
                    64 bytes from 10.0.0.7: icmp_seq=3 ttl=64 time=9.256 ms
                    64 bytes from 10.0.0.7: icmp_seq=4 ttl=64 time=7.163 ms
                    64 bytes from 10.0.0.7: icmp_seq=5 ttl=64 time=10.054 ms
                    64 bytes from 10.0.0.7: icmp_seq=6 ttl=64 time=24.724 ms
                    64 bytes from 10.0.0.7: icmp_seq=7 ttl=64 time=4.882 ms
                    ^C
                    --- 10.0.0.7 ping statistics ---
                    8 packets transmitted, 8 packets received, 0.0% packet loss
                    round-trip min/avg/max/stddev = 4.335/10.556/24.724/7.046 ms
                    

                    I'm also able to send commands via MYSController
                    0_1454263909893_upload-5f627acc-db71-4c57-a234-60cf066bfcf9

                    0;255;3;0;9;Eth: connect
                    0;255;3;0;9;Eth: 0;0;1;0;0;123
                    0;255;3;0;9;Eth: 0;0;1;0;0;456
                    0;255;3;0;9;Eth: 0;0;1;0;0;789
                    

                    So Kudos Mr. @Connor-Rigby you did it, excellent work!!

                    And since we love pictures...

                    0_1454264565377_IMG_0388.JPG

                    Cheers

                    yeah the cc3000 handles all that information weird. on monday ill try to get that going. i decided i wasnt actually going to use this on my project anyway.

                    barduinoB Offline
                    barduinoB Offline
                    barduino
                    wrote on last edited by
                    #9

                    @Connor-Rigby

                    I can try to give it a shot.

                    My objective is the MQTTGateway but with what you've done so far I think I can try to tackle it.

                    It would be interesting to add this to the development branch I wonder what @hek and the MySensors folks think about that possibility

                    Thanks

                    C 1 Reply Last reply
                    0
                    • barduinoB barduino

                      @Connor-Rigby

                      I can try to give it a shot.

                      My objective is the MQTTGateway but with what you've done so far I think I can try to tackle it.

                      It would be interesting to add this to the development branch I wonder what @hek and the MySensors folks think about that possibility

                      Thanks

                      C Offline
                      C Offline
                      Connor Rigby
                      wrote on last edited by
                      #10

                      @barduino
                      i made a pull request for the development branch but they want me to change a couple more things before they merge it. I just havent got around to it yet. Ive never messed with the mqtt gateway nor do i really even know what it is but let me know if i can help you out

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      10

                      Online

                      11.7k

                      Users

                      11.2k

                      Topics

                      113.1k

                      Posts


                      Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • MySensors
                      • OpenHardware.io
                      • Categories
                      • Recent
                      • Tags
                      • Popular