@alteriom/painlessmesh 1.9.6 → 1.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/README.md +42 -175
- package/docs/troubleshooting/common-issues.md +26 -0
- package/docs/troubleshooting/external-device-connection.md +283 -0
- package/examples/bridge/bridge.ino +23 -0
- package/examples/bridge_failover/bridge_failover.ino +24 -0
- package/library.json +1 -1
- package/library.properties +1 -1
- package/package.json +4 -4
- package/src/AlteriomPainlessMesh.h +3 -3
- package/src/arduino/wifi.hpp +850 -547
- package/src/painlessMesh.h +2 -2
- package/src/painlessMeshSTA.cpp +11 -2
- package/src/painlessmesh/mesh.hpp +34 -29
- package/src/painlessmesh/tcp.hpp +34 -8
|
@@ -5,6 +5,30 @@
|
|
|
5
5
|
// When the primary bridge loses Internet connectivity, nodes automatically
|
|
6
6
|
// hold an election to select a new bridge based on router signal strength.
|
|
7
7
|
//
|
|
8
|
+
// EXTERNAL DEVICE CONNECTIONS FOR DEBUGGING:
|
|
9
|
+
// -------------------------------------------
|
|
10
|
+
// You can connect phones, computers, or test devices to the mesh network
|
|
11
|
+
// for debugging purposes. The bridge node broadcasts the mesh SSID as a
|
|
12
|
+
// WiFi Access Point.
|
|
13
|
+
//
|
|
14
|
+
// Connection details:
|
|
15
|
+
// - SSID: "FishFarmMesh" (or your MESH_PREFIX value)
|
|
16
|
+
// - Password: "securepass" (or your MESH_PASSWORD value)
|
|
17
|
+
// - IP Range: 10.x.x.x/24 (automatically assigned via DHCP)
|
|
18
|
+
// - Gateway: 10.x.x.1 (the bridge node itself)
|
|
19
|
+
//
|
|
20
|
+
// Important notes:
|
|
21
|
+
// 1. ESP32 supports up to 10 concurrent AP connections (ESP8266: 4)
|
|
22
|
+
// 2. Each mesh node connection uses one slot, leaving fewer for external devices
|
|
23
|
+
// 3. After boot, wait 5-10 seconds for the AP to fully initialize
|
|
24
|
+
// 4. If you can't connect, try these troubleshooting steps:
|
|
25
|
+
// - Check serial output for "AP configured" message
|
|
26
|
+
// - Verify the channel matches (bridge auto-detects router's channel)
|
|
27
|
+
// - Forget the network on your device and reconnect
|
|
28
|
+
// - Check for WiFi channel conflicts with other networks
|
|
29
|
+
// 5. External devices get DHCP but have no internet routing by default
|
|
30
|
+
// (they can only communicate with the mesh network itself)
|
|
31
|
+
//
|
|
8
32
|
// IMPORTANT - UNDERSTANDING INTERNET CONNECTIVITY:
|
|
9
33
|
// ================================================
|
|
10
34
|
// The mesh.hasInternetConnection() method checks if a GATEWAY (bridge) node
|
package/library.json
CHANGED
package/library.properties
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name=Alteriom PainlessMesh
|
|
2
|
-
version=1.9.
|
|
2
|
+
version=1.9.8
|
|
3
3
|
author=Coopdis,Scotty Franzyshen,Edwin van Leeuwen,Germán Martín,Maximilian Schwarz,Doanh Doanh,Alteriom
|
|
4
4
|
maintainer=Alteriom
|
|
5
5
|
sentence=A painless way to setup a mesh with ESP8266 and ESP32 devices with Alteriom extensions
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alteriom/painlessmesh",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.8",
|
|
4
4
|
"description": "painlessMesh is a user-friendly library for creating mesh networks with ESP8266 and ESP32 devices. This Alteriom fork includes additional packages for sensor data (SensorPackage), device commands (CommandPackage), and status monitoring (StatusPackage). It handles routing and network management automatically, so you can focus on your application. The library uses JSON-based messaging and syncs time across all nodes, making it ideal for coordinated behaviour like synchronized light displays or sensor networks reporting to a central node.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"arduino",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
"url": "https://github.com/Alteriom/painlessMesh/issues"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@alteriom/mqtt-schema": "^0.
|
|
43
|
-
"@eslint/js": "^9.
|
|
42
|
+
"@alteriom/mqtt-schema": "^0.8.0",
|
|
43
|
+
"@eslint/js": "^9.39.1",
|
|
44
44
|
"ajv": "^8.17.1",
|
|
45
45
|
"ajv-formats": "^3.0.1",
|
|
46
|
-
"prettier": "^3.
|
|
46
|
+
"prettier": "^3.7.4"
|
|
47
47
|
},
|
|
48
48
|
"scripts": {
|
|
49
49
|
"test": "run-parts --regex catch_ bin/ || echo 'Tests completed'",
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
/**
|
|
30
30
|
* @brief AlteriomPainlessMesh library version information
|
|
31
31
|
*/
|
|
32
|
-
#define ALTERIOM_PAINLESS_MESH_VERSION "1.
|
|
32
|
+
#define ALTERIOM_PAINLESS_MESH_VERSION "1.9.7"
|
|
33
33
|
#define ALTERIOM_PAINLESS_MESH_VERSION_MAJOR 1
|
|
34
|
-
#define ALTERIOM_PAINLESS_MESH_VERSION_MINOR
|
|
35
|
-
#define ALTERIOM_PAINLESS_MESH_VERSION_PATCH
|
|
34
|
+
#define ALTERIOM_PAINLESS_MESH_VERSION_MINOR 9
|
|
35
|
+
#define ALTERIOM_PAINLESS_MESH_VERSION_PATCH 7
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* @brief Library description and usage information
|