esp8266 mesh WIFI

Either I do, or you, Or, even if I dont and you dont, it will come. The IoT will come (in fact already came) and dominate our life.

And this tiny chip and the module has brought the storm in 3$ !

Here, I am not explaining every basics, for that you have other sites to follow. Rather, I shall be talking only about mesh and the possibility of mesh with ESP8266.

The work already started.

You may download the attached file and rename to .bin and then flash at 0x00000 & 0x40000 location of ESP8266.

Restart the module, use 115200 baud and thats it. You can see the nodes are joining with each other.

foeagle.app.v6.flash eagle.app.v6.irom0text

 

Status: 10/05/2015

I am just busy with some related stuff like mobile app to communicate with these ESP. And the primary step is over. Hopefully it will be a great app. Both UDP and TCP server inside ESP with 128-bit encryption algo inside to over-check the data stream beyond WPA/2.
BTW, those who are looking for UDP tool, I have recently released a Windows mobile app “UDP Broadcaster” that may be handy to discover your ESP (though, you have to implement UDP server inside ESP).

Now, regarding the MESH, fortunately, I can see the clear direction without glitches to implement the network. The “node-node” communication will be done very soon once I am free !
There is a tentative future:
1. A complete mesh and node-node communication
2. Concept of Global mesh. Multiple mesh connected in different parts of WLAN can communicate. Multiple mesh connected in different part of Internet can talk each other [Oh! Cloud must be there]
3. A light-weight encryption algorithm. I just implemented TEA. Its damn cool than AES. Oh! I know, the limitation of symmetric key. Relax! Our Key will be dynamic with will vary for ESP to ESP and may be over time also. So, one brute-force will not work for all :D . And a single firmware will work for all modules [No customization or configuration will be necessary for router or coordinator or end-node or even encryption key]
4. Just like others, I am not in the mood to give a brand-name of my mesh, but I am targeting to make a nice light-weight protocol which can be implemented any WIFI module for mesh or even in mobile or computer. As I am trying to stick with Protocol and application layer, I think it will be globally applicable without poking or probing the drivers or network layer ;)

Oh ! One info, people may be annoyed to flash the firmware over serial port, particularly the time it takes. It is worse in my case as sometimes I needed to flash it 1000 timed a day. I have just included a small part to update by WLAN (follow bananis thread named “Local cloud update”). For this aspect, people may have problem to configure IIS in windows, I have made a tool which will act as a server so that you need not to run IIS. Subsequently I have created the AWS account and porting my firmwares[I just need to send a mail to update the firmware in AWS cloud :geek: ] so that it can be used and updated globally. However, I shall discuss it sometime in different thread.

Thanks, and I shall update status and inform if I need any help.

New version released, still in Beta. Follow

http://www.esp8266.com/viewtopic.php?f=6&t=903&p=17071#p17071

or

http://www.esp8266.com/viewtopic.php?f=6&t=903&start=80

to download binaries.

Out of many other commands, you may use:

AT+PINGROOT=YOUR DATA

Data size clamped at 150 chars. All data will move to coordinator from any end node

AT+DEBUGPRINT=0, AT+DEBUGPRINT=1

turn off or on debug msg.

Tips:

1. Flash the same binary to all nodes.

2. Power up the First node and wait for 30 secs [I will be the coordinator]

3. switch-on remaining nodes. If all together, it will form a star. If one by one, it may form linear hop.

4. Place nodes more than 2 meters and above 1 meter from ground (I did not though :)) for better response and connectivity. Remember all nodes are running in same channel and it will exhaust the channel very soon[I know, you have started calculation already how much capacity it has and other drawbacks. Relax ! I had to do this because, the ESP provides soft-AP only. If the algorithm is implemented with hard-AP modules, it could be fine may be at TI modules.]

 

Current status: The mesh-coordinator can now connect with external world (in my approach, practically there is no-concept of router, all nodes can be a router too if it has any child :geek:). The device discovery is working very fine over encrypted UDP beacon. You may use a small Windows mobile App (UDP Broadcaster) to test and implement your UDP server inside ESP.

I know, I need to be cleaner. All messy codes are just creating a hell mesh ! I need to start documenting which I hates even after being from CMMI-5!

08/02/2017
Its more than a year, updated nothing on the discussed mesh! Rather, spent energy into something else!
I am afraid, if I will be able to restart the Mesh work again or not! Or able to come out from the loop of “being somewhere else”.
A lot of things happened in a last two years…it will take lot of space and energy to explain. However, in short, our start-up is almost failing…and we are loosing vision…hence, thinking to move towards contributing to open-source community! I am not sure, where my last version of working Mesh code is left, but I shall make it work, once I am able to focus ! Yes, at this phase, I am rather trying to “de-focus” from what I was doing.
Ok, a very brief summary:
We created a complete framework (LoL, all IoT people use this word: Framework 😛 , and I am hating this word) to make “any” product IoT enabled very fast. It consists three “generic” components: ESP as core in hardware, App (Android) and Backend (Data-Base and Push Server)
Made a complete sets of product range…targeting Home automation
1. Motion sensor (No, PIR or ultrasonic, its on RSSI)
2. Plug/Socket
3. Light with dimming
4. Curtain controller (Somfy)
5. Camera (No ESP !, rather Raspberry)

Shall release stuff very soon, you may have cool fun!

OK. at very instant (since last 3 months), I am doing nothing except making a push notification server with low level API for IoT space.
Shall release API soon for common access.
Ok,….let me stop now..shall update stuffs, and shall start publishing docs on Push Notification…
Find it here:
https://esp8266mesh.wordpress.com/push-notification-service/
And wait for update.

16/03/2017
Well, the Push is live now. See the API list at
https://esp8266mesh.wordpress.com/push-notification-service/

Its damn easy. I have indicated how to test it with Putty. You are smart enough to figure it how to use it with ESP.
Lets call it Global-Mesh-Network.
UbiPush V1.3 Released

29/03/2017
UbiPush V1.5 released.
Secure M2M messaging API added.

Need Testers!

26/04/2017
OK. Push is running quite well.V1.7 released. I have suspended the Bock-chain activity for instance and let me jump back for a while from Push-Server.

Infact, little tired with continuous diversion and need a break. Thats why let me start to a goal-less direction and WiFi-Mesh may be a such “Goal-less” goal. Let us name it Ubi-Mesh. Hopefully it will be revamped with many new features.

Target specification:
1. All node are generic (no specific configuration)
2. Node will dynamically connect with best node (nearest node or best RSSI)
3. There should not be limit on no of nodes in the system (except system hardware limitation like RAM etc)
4. Root will be fixed (Later on we shall work on dynamic root node and multiple root)
5. Any node can communicate with any node by specifying Remote node ID
6. Any external entity (PC, phone) may be accepted as a leaf-node (or end-node) [We shall work on this later on, because, I need to work on the app part too which I dont want to mix up]

Thats it for now. Lets warm-up! And let me start with pencil!

Jump to Theory:
We need to understand one basic fundamental which may misguide many and key of Mesh
“Connection with Best node is fully independent with data routing algorithm”

Keep a watch on literature than looking for firmware link or git link 😛 However, you will get it on time.

20 thoughts on “esp8266 mesh WIFI

  1. Hi chandan2002x,
    I saw, your esp’s mesh application on the esp8266.com.
    It’s very nice firmware and That’s impressive!
    Do you have plan that is release source code for anyone?
    If you have plan one, I hope to study your source code and rebuild it with you.
    Thanks.
    Peter.

    Like

    • Dear Peter,
      Thanks for your interest.
      In the last update (V0.6), The data transfer has been intentionally limited to 100 chars from any node to Co-coordinator.
      The ongoing development will make it possible to send communication from node to node. Its just some application layer logic stuff.

      Now, regarding the sharing of source-code. The source code is being asked several times in various domain including ESP8266 dot com.

      If we look to the potential aspect of the solution, we must understand the effect and consequences of it and the reasons that I am concern.
      It will dilute the cost of technology and value of several products commercially used and emerging market.
      For easy example, let’s take the example of LIFX. they are using a mixed architecture of WiFi+ZigBee where ZigBee 6LoPAN is creating the mesh. Now, if the meshing is done properly, there is no need of ZigBee and it will substantially reduce the cost of “Smart-WIFI LED Bulb”.

      Probably, at this time, we very well understood that “ESP is the lowest cost WIFI solution, “Mesh is possible with ESP” and “Its not straight forward to implement Mesh” (Did anybody else did it already??). Considering these points, I am just little confused and concern to release the code as open source.
      However, I am working alone and definitely looking to collaborate in much stronger and constructive way.

      However, I shall be releasing the updated binaries.

      Hope, I am able to explain to justify my opinions.

      Regards,
      Chandan

      Like

  2. Hello chandan2002x, I was wondering if you have been able to add encryption to the ESP8266 Mesh code. I would like to use your code to create a very cheap mesh network so I can give commands to devices that are not near my house without using cellular data.

    Like

  3. Hi Chandan, I’m with Rebel! I’d like to know what is missing to complete the work if you say you are near leve 5 of CMMI. I’ve noticed yo are doing a great job and it’s a pity it’is not finshed by a litlle. Kindest regards!

    Like

    • Ideally, I should not reply as I am delayed from my own promise.
      It all happened because of priority shifting.

      But, it encourages me when I get many mails all over world and wonder, my own people does not recognize it. I am accepting the scenario, not to getting enough room to take breathe!

      Ok, philosophy apart, officially I am tied up with EMV stuffs to extract PKI stuff. Remaining time I am spending to make a simple robust Smart-home solution based on ESP [own push server, app, hardware partial AWS and other cloud stuffs]. Hopefully, I can contribute something on mesh after Jan.

      Like

  4. Before I head over to esp8266.com to find out more. I’ve got to say this is incredible and you are right to believe this is seriously heavy! With a hint of Lewis Carroll….

    Like

    • Yes. Its heavy. After making the back-bone (cloud, push, FOTA), I am converting all my surround to IoT. Appliances, bulb, battery water level all has already became smart. Lets see what happens…

      Like

  5. I agree: this is really heavy.
    I’m curious about one thing. Is it possible to direct connections between mesh node and the cloud or
    the connection should be established with some kind of gateway, like pc, smartphone, etc.?

    Like

    • It is absolutely possible and I am doing it already (UbiKeys). Any node, all node can communicate with cloud WITHOUT any “Gateway”. You just need a bridge if required (WiFi router) or even nothing if you have access to any public WiFi hotspot.

      Like

  6. It’s a pity you don’t have a donate button! I’d definitely donate to this outstanding blog!
    I suppose for now i’ll settle for book-marking and adding your
    RSS feed to my Google account. I look forward to fresh updates and will share this site with my Facebook group.
    Chat soon!

    Like

    • Donation is often a honorarium of token of acknowledgement. It may give a piece of motivation to move forward. In reality, I need much much more fuel to drive my passion, and afraid, those token of appreciation may deviate me from the bigger goal and Great destiny. Mostly I write stuff for kind of self-chanting to preserve stuffs in public domain like an open-diary! Eventually, on the way get good people like you who understands and appreciates! Thanks.

      Like

    • Hi Akshar, thanks. Actually I am indulge with the things so much that at this point I forgot what I was 😛
      Starting from deep diving from hardware, covering the App and back-end..exploring the corners of world of excitement.
      Eventually, our start-up ubikeys (www.ubikeys.com) did nor run well, making a sets of connected home automation products ( a lot of product 🙂 really) and currently in phase of diluting the technology who has any interest on it.
      At this moment, making a solution (disruptive!) for geo-fencing and highway tolling including sensors and AI at back-end for analytics which will eventually be a great part of IoT.
      Still exploring fields!
      So, whats your plan with Vegg ? Its really cool vague website with suspense.

      Like

Leave a comment