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.