ESP32 ನಲ್ಲಿ Wifi ಜೊತೆಗೆ ಗೇಮಿಂಗ್

ESP32 ನಲ್ಲಿ Wifi ಜೊತೆಗೆ ಗೇಮಿಂಗ್

ವೈಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಪಾಕೆಟ್ ಟೂಲ್ ಮಾಡಲು ನನಗೆ ಕಲ್ಪನೆಯನ್ನು ನೀಡಿದ್ದು ಈ ಲೇಖನ.

ಕಲ್ಪನೆಗಾಗಿ ಅವರಿಗೆ ಧನ್ಯವಾದಗಳು. ನನಗೆ ಮಾಡಲು ಏನೂ ಇರಲಿಲ್ಲ.

ನೆಟ್‌ವರ್ಕ್ ತಂತ್ರಜ್ಞಾನಗಳ ಕ್ಷೇತ್ರದಲ್ಲಿ ಮೋಜು ಮತ್ತು ನನ್ನ ಜ್ಞಾನವನ್ನು ವಿಸ್ತರಿಸುವ ಉದ್ದೇಶದಿಂದ ಎಲ್ಲಾ ಕೆಲಸಗಳನ್ನು ಹವ್ಯಾಸದ ಭಾಗವಾಗಿ ಮಾಡಲಾಗಿದೆ. ನಿಧಾನವಾಗಿ, ಈ ವರ್ಷದ ಆರಂಭದಿಂದ ವಾರಕ್ಕೆ 1..4 ಗಂಟೆಗಳು.
ನಾನು ಯಾವುದೇ ಪ್ರಾಯೋಗಿಕ ಬಳಕೆಯನ್ನು ಯೋಜಿಸಲಿಲ್ಲ. ಆ. ಇದು ಹ್ಯಾಕರ್‌ಗಳ ಸಾಧನವಲ್ಲ.

ಈ ಸಮಯದಲ್ಲಿ, ಎಲ್ಲಾ ಯೋಜಿತ ಕಾರ್ಯಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿವೆ. ಎಲ್ಲಾ ಮೂಲಗಳು, ಜೋಡಣೆಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಸಿದ್ಧವಾಗಿದೆ, ಇಲ್ಲಿ ಪೋಸ್ಟ್ ಮಾಡಲಾಗಿದೆ. ಅಸೆಂಬ್ಲಿ ಸೂಚನೆಗಳು ಇತ್ಯಾದಿಗಳಿವೆ. ಈ ಟಿಪ್ಪಣಿಯಲ್ಲಿ, ನಾನು ಗಿಥಬ್‌ನಲ್ಲಿ ಪೋಸ್ಟ್ ಮಾಡಿದ ಮಾಹಿತಿಯನ್ನು ನಕಲು ಮಾಡುವುದಿಲ್ಲ. ಪ್ರತ್ಯೇಕವಾಗಿ ವಿವರಿಸಲು ಅಗತ್ಯವೆಂದು ನಾನು ಪರಿಗಣಿಸುವದನ್ನು ಮಾತ್ರ ನಾನು ನಿಮಗೆ ಹೇಳುತ್ತೇನೆ.

"ಸಾರ್ವತ್ರಿಕ ಉಪಕರಣ" ಮತ್ತು ESP32 ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಕಾರಣದ ಕುರಿತು ನನ್ನ ಅಭಿಪ್ರಾಯ

ನಾನು ಸತ್ಯ ಎಂದು ಹೇಳಿಕೊಳ್ಳುವುದಿಲ್ಲ. ಪ್ರತಿಯೊಬ್ಬರೂ ತಮ್ಮದೇ ಆದದ್ದನ್ನು ಹೊಂದಿದ್ದಾರೆ. ನನ್ನ ಹಾರ್ಡ್‌ವೇರ್ ಆಯ್ಕೆಯನ್ನು ಸಮರ್ಥಿಸಲು ನಾನು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ.

ಲೇಖನದಲ್ಲಿ ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ ಲಿನಕ್ಸ್ (ಆರಂಭದಲ್ಲಿ ರಾಸ್ಪ್ಬೆರಿ ಪೈ) + ನಿಯಂತ್ರಕ (STM32) + CC1110 (8051 ಕೋರ್) ರೂಪದಲ್ಲಿ “ಪೆರಿಫೆರಲ್ಸ್” ಸಂಯೋಜನೆಯ ಬಳಕೆಯ ಸಂದರ್ಭ ಮತ್ತು ಅಲ್ಲಿ ಸಾಧ್ಯವಿರುವ ಎಲ್ಲವನ್ನೂ ಕ್ರ್ಯಾಮ್ ಮಾಡುವ ಯೋಜನೆ (125kHz, NFC, 433mHz, USB, iButton, bluetooth, ?) ನನಗೆ ಸೂಕ್ತವೆನಿಸಲಿಲ್ಲ. ಆದಾಗ್ಯೂ, ಈ ಯೋಜನೆ ಇದು ಖಾಸಗಿಯಾಗಿ ಮತ್ತು ಮುಚ್ಚಿರುವಂತೆ ತೋರುತ್ತಿದೆ (ಫ್ಲಿಪ್ಪರ್-ಶೂನ್ಯ ಗಿಥಬ್ "ಈ ಸಂಸ್ಥೆಯು ಯಾವುದೇ ಸಾರ್ವಜನಿಕ ರೆಪೊಸಿಟರಿಗಳನ್ನು ಹೊಂದಿಲ್ಲ.") ಮತ್ತು ಹೆಚ್ಚು ಸಾಮಾನ್ಯವಲ್ಲದ ಹಾರ್ಡ್‌ವೇರ್ ಕಡೆಗೆ ಹೋಗಿದೆ.

ಬಹುಶಃ ನಾನು ತಪ್ಪಾಗಿರಬಹುದು ಮತ್ತು ಭವಿಷ್ಯದಲ್ಲಿ ಲೇಖಕರು ಸಾಫ್ಟ್‌ವೇರ್ ಮೂಲಗಳನ್ನು ಸಾರ್ವಜನಿಕವಾಗಿ ಲಭ್ಯವಾಗುವಂತೆ ಮಾಡುತ್ತಾರೆ. ಆದರೆ ಇಲ್ಲದಿದ್ದರೆ, ಮೂಲ ಕೋಡ್ ಇಲ್ಲದೆ ನಾನು ಅಂತಹ ಯಂತ್ರಾಂಶವನ್ನು ಖರೀದಿಸುವುದಿಲ್ಲ.

"ಉಪಕರಣ" ಗಾಗಿ ನನ್ನ ಅವಶ್ಯಕತೆಗಳು

ಬಾಕ್ಸ್ ಚಿಕ್ಕದಾಗಿರಬೇಕು (ಚಿಕ್ಕದು ಉತ್ತಮ).

ಆದ್ದರಿಂದ:

  • ಯಾವುದೇ ಅಂತರ್ನಿರ್ಮಿತ ಬ್ಯಾಟರಿ ಅಗತ್ಯವಿಲ್ಲ. ವೈಫೈನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಪ್ರಸ್ತುತ > 100 mA ಯೊಂದಿಗೆ, ಅಂತರ್ನಿರ್ಮಿತ ಬ್ಯಾಟರಿಯು ದೊಡ್ಡದಾಗಿರುತ್ತದೆ ಅಥವಾ ಹೆಚ್ಚು ಕಾಲ ಉಳಿಯುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ, "ಬಾಕ್ಸ್" ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಪವರ್ ಬ್ಯಾಂಕ್ನಿಂದ ಚಾಲಿತವಾಗಲಿ. ಹೇಗಾದರೂ, ನಾನು ಯಾವಾಗಲೂ ನನ್ನ ಜೇಬಿನಲ್ಲಿ / ಕಾರಿನಲ್ಲಿ ಪವರ್ ಬ್ಯಾಂಕ್ ಅನ್ನು ಹೊಂದಿದ್ದೇನೆ.
  • ಪರಿಕರಗಳೊಂದಿಗೆ Linux "ಬಾಕ್ಸ್" ಅನ್ನು ಒಳಗೆ ಇರಿಸಿ, ಎಲ್ಲಾ ಭಾಷೆಗಳಲ್ಲಿ ಹಲವು ವರ್ಷಗಳಿಂದ ಬರೆಯಲಾಗಿದೆ ಸಣ್ಣ ಪರದೆ ಮತ್ತು ಕಡಿಮೆ ನಿಯಂತ್ರಣ ಬಟನ್‌ಗಳೊಂದಿಗೆ, ಇದು ಯಾವುದೇ ಅರ್ಥವಿಲ್ಲ. ಪೂರ್ಣ ಕೀಬೋರ್ಡ್ ಮತ್ತು ಪರದೆಯೊಂದಿಗೆ ಸಾಮಾನ್ಯ ಲ್ಯಾಪ್‌ಟಾಪ್‌ನಲ್ಲಿ ಫಲಿತಾಂಶಗಳನ್ನು ವೀಕ್ಷಿಸಬಹುದು/ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬಹುದು.
  • ಘಟಕಗಳನ್ನು ಸುಲಭವಾಗಿ ಪ್ರವೇಶಿಸಬಹುದು ಮತ್ತು ವ್ಯಾಪಕವಾಗಿ ತಿಳಿದಿರಬೇಕು (ಲಭ್ಯವಿರುವ SDK, ಅನೇಕ ಉದಾಹರಣೆಗಳು ಮತ್ತು ದಾಖಲಾತಿಗಳು).

ಪರಿಣಾಮವಾಗಿ, ನನಗೆ, ಆಯ್ಕೆಯು ಸ್ಪಷ್ಟವಾಗಿತ್ತು - ESP32.

ಕ್ರಮ ತೆಗೆದುಕೊಳ್ಳಲು ನನ್ನನ್ನು ಪ್ರೇರೇಪಿಸಿದ ಲೇಖನದಲ್ಲಿ ಹೇಳಲಾದ ಎಲ್ಲಾ ಕಾರ್ಯಗಳಿಗೆ, ESP32 ನ ಸಾಮರ್ಥ್ಯಗಳು ಸಾಕಷ್ಟು ಸಾಕಾಗುತ್ತದೆ. ಆದರೂ ನಾನು ಇನ್ನೂ ಹೆಚ್ಚಿನದನ್ನು ಮಾಡಲು ಬಯಸುತ್ತೇನೆ:

  • ಬ್ಲೂಟೂತ್‌ನೊಂದಿಗೆ ಆಟವಾಡಿ.
  • ಸರಳವಾದ ಹಾರ್ಡ್‌ವೇರ್‌ನೊಂದಿಗೆ 433mHz ಶ್ರೇಣಿಯೊಂದಿಗೆ ಆಟವಾಡಿ (ಆಂಪ್ಲಿಟ್ಯೂಡ್ ಮಾಡ್ಯುಲೇಷನ್ ಮಾತ್ರ, ಇದು ಪ್ರಾಯೋಗಿಕ ಅಗತ್ಯಗಳಿಗೆ ಸಾಕಾಗುತ್ತದೆ).

ESP32 ನಲ್ಲಿ ಮುಲಾಮುದಲ್ಲಿ ಫ್ಲೈ ಮಾಡಿ

  • ESP32 SDK (IDF) ಸ್ವಲ್ಪ ವಿಕಾರವಾಗಿದೆ.
  • ಕೆಲವು ಕಾರ್ಯಚಟುವಟಿಕೆಗಳು (ವೈಫೈ ಸ್ಟಾಕ್, ಉದಾಹರಣೆಗೆ) ಜೋಡಣೆಗೊಂಡ ಸ್ಥಿರ ಲೈಬ್ರರಿಗಳ ರೂಪದಲ್ಲಿ ಮೂಲ ಕೋಡ್ ಇಲ್ಲದೆ ಬರುತ್ತದೆ.
  • 5gHz ಬ್ಯಾಂಡ್ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ ಮತ್ತು WiFi ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಲ್ಲಿ ಕೆಲವು ಮಿತಿಗಳು ಮತ್ತು ವಿಕಾರತೆಗಳಿವೆ.

ಆದರೆ ಬೆಲೆ/ಗಾತ್ರವು ಈ ನ್ಯೂನತೆಗಳಿಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಸರಿದೂಗಿಸುತ್ತದೆ.

ಮುಖ್ಯ ಸಾಫ್ಟ್ವೇರ್ ಕ್ರಿಯಾತ್ಮಕತೆ

ನಾನು ಕ್ರಿಯಾತ್ಮಕತೆಯನ್ನು ಮತ್ತು ನನ್ನ ಅಭಿಪ್ರಾಯವನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ವಿವರಿಸುತ್ತೇನೆ...

ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಮತ್ತು SD ಯಿಂದ ಫೈಲ್‌ಗಳನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡುವುದು

ಎಲ್ಲಾ ಬಾಹ್ಯ ನಿಯಂತ್ರಣವನ್ನು ಸರಳ ವೆಬ್ ಪುಟದ ಮೂಲಕ ಮಾಡಲಾಗುತ್ತದೆ, ಪ್ರತ್ಯೇಕ ಮೆನು ಐಟಂನಲ್ಲಿ ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ. ESP32 WiFi AP ಮೋಡ್‌ನಲ್ಲಿ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಮತ್ತು ಸ್ಥಿರ IP ವಿಳಾಸದಲ್ಲಿ ಪುಟವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.

ESP32 ಕೋರ್ಗಳು ಸಾಕಷ್ಟು ವೇಗವಾಗಿದ್ದರೂ, ಪ್ರಯೋಗಗಳು ತೋರಿಸಿದಂತೆ, ಅಂತರ್ನಿರ್ಮಿತ ವೆಬ್ ಸೇವೆಯ ಏಕಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆ ಮತ್ತು, ಉದಾಹರಣೆಗೆ, ರೂಟರ್ ಮೋಡ್ ಹೆಚ್ಚು ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ, ಯಾವುದೇ ಡೈನಾಮಿಕ್ ನಿಯಂತ್ರಣವಿಲ್ಲ ಮತ್ತು ಎಲ್ಲಾ ಇತರ ವಿಧಾನಗಳಲ್ಲಿ ಪುಟವು ಲಭ್ಯವಿಲ್ಲ.
ಇದಲ್ಲದೆ, ಸಂಶೋಧನಾ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಡೈನಾಮಿಕ್ ನಿಯಂತ್ರಣ ಅಗತ್ಯವಿಲ್ಲ.

ಬೀಕನ್ ಪ್ಯಾಕೇಜುಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ವಿಧಾನ

ವಿಧಾನಗಳು ನೀರಸ ಮತ್ತು ತುಂಬಾ ಆಸಕ್ತಿದಾಯಕವಲ್ಲ. "ಏಕೆಂದರೆ ಅದು ಸಾಧ್ಯ." ಪರಿಶೀಲನೆಗಾಗಿ.
ಅಧಿಕೃತ ಎಸ್ಪ್ರೆಸಿಫ್ ಉದಾಹರಣೆಗಳಲ್ಲಿ ಉದಾಹರಣೆಗಳಿವೆ.

AP ಪಟ್ಟಿ ಸ್ಕ್ಯಾನಿಂಗ್ ಮೋಡ್.
ವಾಸ್ತವವಾಗಿ, ಯಾವುದೇ ಸ್ಮಾರ್ಟ್ಫೋನ್ ಇದನ್ನು ಮಾಡಬಹುದು.
ಸರಿ, ಈ ಕ್ರಮದಲ್ಲಿ AP ಪಟ್ಟಿಯನ್ನು ಉಳಿಸಲಾಗುತ್ತದೆ.
ಬೀಕನ್ ಸ್ಪ್ಯಾಮರ್.
ESP32 ಗುಪ್ತ SSID ಮತ್ತು ಯಾದೃಚ್ಛಿಕ MAC ನೊಂದಿಗೆ AP ನಂತೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಮತ್ತು SSID ಗಳ ಪೂರ್ವ-ರಚಿಸಲಾದ ಪಟ್ಟಿಯ ಪ್ರಕಾರ [ಬೀಕನ್ ಫ್ರೇಮ್] ಕಳುಹಿಸಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ (ಹಸ್ತಚಾಲಿತವಾಗಿ ರಚಿಸಲಾಗಿದೆ ಅಥವಾ AP ಪಟ್ಟಿಯನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುವ ಮೂಲಕ ಮೊದಲು ಪಡೆಯಲಾಗಿದೆ)

ವೈಫೈ ಪ್ಯಾಕೆಟ್ ಸ್ನಿಫಿಂಗ್ ಮೋಡ್

Espressif ಡೆವಲಪರ್‌ಗಳು ಕಾಲ್‌ಬ್ಯಾಕ್ ಕಾರ್ಯದ ಮೂಲಕ "ಗಾಳಿಯಲ್ಲಿ ಹಾರುವ" ಎಲ್ಲಾ ವೈಫೈ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಅಪ್ಲಿಕೇಶನ್ ಸಾಫ್ಟ್‌ವೇರ್‌ಗೆ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಿದ್ದಾರೆ. ವಾಸ್ತವವಾಗಿ ಎಲ್ಲವೂ ಅಲ್ಲ, ಏಕೆಂದರೆ ನೀವು ಒಂದು ಸ್ಥಿರ ಚಾನಲ್‌ಗೆ ಮಾತ್ರ ಮೋಡ್ ಅನ್ನು ಹೊಂದಿಸಬಹುದು.

ಕಾಲ್‌ಬ್ಯಾಕ್ ಕಾರ್ಯವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಬಹಳ ಕಟ್ಟುನಿಟ್ಟಾದ ಸಮಯದ ನಿರ್ಬಂಧಗಳನ್ನು ವಿಧಿಸಲಾಗುತ್ತದೆ. ಸರಳವಾದ ಅಂಕಿಅಂಶಗಳ ಸಂಗ್ರಹಣೆ ಮೋಡ್‌ಗೆ ಇದು ತೊಂದರೆಗಳನ್ನು ಉಂಟುಮಾಡದಿದ್ದರೆ, SD ಕಾರ್ಡ್‌ನಲ್ಲಿ PCAP ಫೈಲ್ ರೆಕಾರ್ಡಿಂಗ್ ಮೋಡ್‌ಗಾಗಿ ನಾನು ಟಿಂಕರ್ ಮಾಡಬೇಕಾಗಿತ್ತು, ಮೆಮೊರಿ ಮತ್ತು ಸೆಮಾಫೋರ್‌ಗಳಲ್ಲಿ ಕ್ಯೂ ಮೂಲಕ ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ಆಯೋಜಿಸಿದೆ. ಕಾಲ್‌ಬ್ಯಾಕ್ ಕರೆ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯು ಒಂದು ಕೋರ್‌ನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ ಮತ್ತು ಇನ್ನೊಂದರಲ್ಲಿ SD ಗೆ ಬರೆಯುವ ಪ್ರಕ್ರಿಯೆಯು ವಿಶಿಷ್ಟತೆಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.

"ಗದ್ದಲದ ಗಾಳಿ" ಸಮಯದಲ್ಲಿ, ಕೆಲವು ಪ್ಯಾಕೆಟ್ಗಳು ಕಳೆದುಹೋಗಿವೆ (ಸರದಿಯಲ್ಲಿ ಯಾವುದೇ ಸ್ಥಳವಿಲ್ಲ ಮತ್ತು ಅವುಗಳನ್ನು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ), ಆದರೆ ಸಂಜೆ ಅಪಾರ್ಟ್ಮೆಂಟ್ನ ವಿಶಿಷ್ಟವಾದ "ಗಾಳಿ" (ಗೋಚರತೆಯೊಳಗೆ 5..7 ಎಪಿಗಳು), PCAP ನಲ್ಲಿ ರೆಕಾರ್ಡಿಂಗ್ ಪ್ಯಾಕೆಟ್ ನಷ್ಟವಿಲ್ಲದೆ ಪೂರ್ಣಗೊಳ್ಳುತ್ತದೆ.

ಹೆಚ್ಚುವರಿಯಾಗಿ, PCAP ಮೇಲ್ವಿಚಾರಣೆ ಮತ್ತು ರೆಕಾರ್ಡಿಂಗ್‌ಗಾಗಿ, ಪ್ಯಾಕೆಟ್ ಹೆಡರ್‌ಗಳಲ್ಲಿ MAC ಪಟ್ಟಿಯನ್ನು ಆಧರಿಸಿ ಫಿಲ್ಟರಿಂಗ್ ಮೋಡ್ ಇದೆ.

ಉದಾಹರಣೆಗೆ, ಕ್ಲಬ್/ಕೆಫೆಯಲ್ಲಿ ಒಬ್ಬ ವ್ಯಕ್ತಿಯು ಪ್ರವೇಶಿಸುವ ಮೊದಲು ಅಥವಾ ಗೋಚರಿಸುವ ಮೊದಲು ಅವನ ನೋಟವನ್ನು ನೀವು ಟ್ರ್ಯಾಕ್ ಮಾಡಬಹುದು. ಕೆಲವು ಜನರು ತಿಳಿದಿರುವ AP ಗಳಿಗೆ ವೈಫೈ ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ಸಂಪರ್ಕಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತಾರೆ. (ನಾನು ಈಗ ಅದನ್ನು ಆಫ್ ಮಾಡುತ್ತಿದ್ದೇನೆ..)

ವೈರ್‌ಶಾರ್ಕ್‌ನಲ್ಲಿ ದಾಖಲಾದ ದಟ್ಟಣೆಯನ್ನು ವೀಕ್ಷಿಸುವುದು ಶೈಕ್ಷಣಿಕ ಮತ್ತು ನಕ್ಷೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಆಸಕ್ತಿದಾಯಕವಾಗಿದೆ - ಇದು ಎಲ್ಲಾ ಕೆಲಸ ಮಾಡುತ್ತದೆ.

ಡೆತ್ ಪ್ಯಾಕೇಜುಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಮೋಡ್

ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಈ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಕಳುಹಿಸುವುದನ್ನು libnet80211.a ಲೈಬ್ರರಿಯಲ್ಲಿ ನಿಷೇಧಿಸಲಾಗಿದೆ, ಅದು ಮೂಲಗಳಿಲ್ಲದೆ ಬರುತ್ತದೆ. ಆದರೆ ಒಂದೆರಡು ಬಿಟ್‌ಗಳನ್ನು ಟ್ವೀಕ್ ಮಾಡುವ ಮೂಲಕ ಸರಿಪಡಿಸುವುದು ಸುಲಭ. ಪ್ಯಾಚ್ ಅನ್ನು ಪೋಸ್ಟ್ ಮಾಡುವುದು ಯೋಗ್ಯವಾಗಿದೆಯೇ ಎಂದು ಮೊದಲಿಗೆ ನಾನು ಅನುಮಾನಿಸಿದೆ. ಆದರೆ ದೃಢೀಕರಣ ಫ್ರೇಮ್ ಸ್ಕ್ಯಾನಿಂಗ್ ಮೋಡ್ ಆನ್ ಆಗಿರುವ ಮೂಲಕ ವಿವಿಧ ಸ್ಥಳಗಳಲ್ಲಿ ನಡೆದ ನಂತರ, ನಾನು ಯೋಚಿಸಿದೆ: "ಏನು ನರಕ." ಇದಲ್ಲದೆ, esp8266 ನಲ್ಲಿ ಈ ಪ್ಯಾಕೇಜ್‌ಗಳ ವಿತರಣೆಯನ್ನು ಮುಚ್ಚಲಾಗಿಲ್ಲ ಮತ್ತು esp8266 ಗಾಗಿ github ನಲ್ಲಿ ಅಸೆಂಬ್ಲಿಗಳಿವೆ.

ಅನೇಕ ಸ್ಥಳಗಳಲ್ಲಿ (ಎಲ್ಲಿ ಎಂದು ನಾನು ಹೇಳುವುದಿಲ್ಲ) ಈ ವಿಧಾನದ ಮೂಲಕ ಅನಗತ್ಯ AP ಗಳ ನಿಗ್ರಹವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಮತ್ತು ಇವರು "ಬೆದರಿಸುವವರು" ಅಲ್ಲ ...

ಮತ್ತು ನನ್ನ ಫೋನ್‌ನಿಂದ ನನ್ನ ಇಂಟರ್ನೆಟ್ ವಿತರಣೆಯು ಕೆಲವು ಸ್ಥಳಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸದಿರುವುದು ನನಗೆ ಆಶ್ಚರ್ಯವಾಯಿತು...

ಅಂತಹ ಪ್ಯಾಕೆಟ್‌ಗಳ ಸಂಖ್ಯೆ ಮತ್ತು RSSI ಅನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವ ಮೋಡ್ "ಎಡ AP ಗಳು ಎಲ್ಲಿ ಇಷ್ಟಪಡುವುದಿಲ್ಲ" ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ತುಂಬಾ ಉಪಯುಕ್ತವಾಗಿದೆ.

ರೂಟರ್ ಮೋಡ್

ಈ ವೈಶಿಷ್ಟ್ಯವು ಬಹುಶಃ ಅನ್ವೇಷಿಸಲು ಎಲ್ಲಕ್ಕಿಂತ ಹೆಚ್ಚು ಆಸಕ್ತಿದಾಯಕವಾಗಿದೆ.

ESP32 STA + SoftAP ಮೋಡ್‌ನಲ್ಲಿ ಏಕಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ, ನೀವು ಅದರ ಮೇಲೆ ಕ್ಲಾಸಿಕ್ NAT ರೂಟರ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು.

ನೆಟ್ವರ್ಕ್ ಸ್ಟಾಕ್ ಅನ್ನು ಬೆಂಬಲಿಸಲು, ಎಸ್ಪ್ರೆಸಿಫ್ ಎಲ್ವಿಪ್ ಲೈಬ್ರರಿಯ ಫೋರ್ಕ್ ಅನ್ನು (ವಾಸ್ತವವಾಗಿ ಬದಲಾಗದೆ) ಬಳಸುತ್ತದೆ.

ಆದರೆ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಬಿಲ್ಡ್‌ನಲ್ಲಿ, esp-lwip ಲೈಬ್ರರಿಯು netif ಇಂಟರ್‌ಫೇಸ್‌ಗಳ 'ap' (SoftAP) ಮತ್ತು 'st' (STA) ನಡುವೆ ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆಯನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ.

ಸಹಜವಾಗಿ, ನೀವು ಇದನ್ನು NAT ಇಲ್ಲದೆ ಮಾಡಬಹುದು, ಆದರೆ ಏಕಕಾಲದಲ್ಲಿ ಎರಡು ಅಥವಾ ಹೆಚ್ಚಿನ STA ಗಳನ್ನು 'ap' ಇಂಟರ್ಫೇಸ್‌ಗೆ ಸಂಪರ್ಕಿಸುವಲ್ಲಿ ಮತ್ತು 'st' ನಿಂದ 'ap' ನೆಟ್‌ವರ್ಕ್ ಇಂಟರ್‌ಫೇಸ್‌ಗೆ IP ವಿಳಾಸಗಳನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡುವಲ್ಲಿ ಸಮಸ್ಯೆ ಇದೆ. ಆದ್ದರಿಂದ ತೊಂದರೆಗಳು ಯೋಗ್ಯವಾಗಿಲ್ಲ ಮತ್ತು NAT ಮೂಲಕ ಇದು ಸುಲಭವಾಗಿದೆ.

ಇದಲ್ಲದೆ, ಮಾರ್ಟಿನ್-ಗರ್ ನಿಂದ ಫೋರ್ಕ್ ಎಸ್ಪಿ-ಎಲ್ವಿಪ್ ಇದೆ, ಇದು IP4 ಗಾಗಿ NAT ನ ಸರಳ ಅನುಷ್ಠಾನವನ್ನು ಸೇರಿಸುತ್ತದೆ.

ನನ್ನ ಕೈಗಳು ಅದನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಕಾಸ್ಮೆಟಿಕ್ ಆಗಿ ರೀಮೇಕ್ ಮಾಡಲು ತುರಿಕೆ ಮಾಡುತ್ತಿದ್ದರೂ (ನನ್ನ ಅಭಿಪ್ರಾಯದಲ್ಲಿ, ಯೋಜನೆಯ ಫೋರ್ಕ್ ಇಲ್ಲದೆ ಇದು ಸುಲಭವಾಗಿದೆ, ಆದರೆ LWIP ಮೂಲಕಹುಕ್ ಅಸೆಂಬ್ಲಿ ಸಮಯದಲ್ಲಿ ಕಾರ್ಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ), ಆದರೆ ಸೋಮಾರಿತನವು ಮೇಲುಗೈ ಸಾಧಿಸಿತು ಮತ್ತು ಮಾರ್ಟಿನ್-ಜರ್ ಆಯ್ಕೆಯನ್ನು ಹಾಗೆಯೇ ಬಳಸಲಾಗುತ್ತದೆ.

ರೂಟರ್ ಮೋಡ್‌ನಲ್ಲಿ, ಒಳಬರುವ ಮತ್ತು ಹೊರಹೋಗುವ IP4 ಸಂಚಾರವನ್ನು ವೀಕ್ಷಿಸಲಾಗುತ್ತದೆ.

ನಿರ್ದಿಷ್ಟವಾಗಿ, ಪರದೆಯ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಲು ಮತ್ತು ಫೈಲ್‌ನಲ್ಲಿ ಅಂಕಿಅಂಶಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಕೆಳಗಿನವುಗಳನ್ನು ಅದರಿಂದ ಹೊರತೆಗೆಯಲಾಗುತ್ತದೆ:

  • SoftAP ESP32 (DHCP ಪ್ಯಾಕೆಟ್‌ಗಳು) ಗೆ ಸಂಪರ್ಕಪಡಿಸಿದ ಸಾಧನದ ಹೆಸರು
  • SoftAP ESP53 ಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವ ಸಾಧನದಿಂದ DNS ವಿನಂತಿಗಳಿಂದ (UDP ಪೋರ್ಟ್ 32) URL.

ಹೆಚ್ಚುವರಿಯಾಗಿ, ನೀವು PCAP ಫೈಲ್‌ಗೆ ಟ್ರಾಫಿಕ್ ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು.

ಈ ಮೋಡ್ ತುಂಬಾ ಉಪಯುಕ್ತವಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮ ಫೋನ್ ನೆಟ್ವರ್ಕ್ಗೆ ಏನು ಕಳುಹಿಸುತ್ತದೆ ಮತ್ತು ಅದು ಎಲ್ಲಿಗೆ ಹೋಗುತ್ತದೆ.

ನೆಟ್‌ವರ್ಕ್ ಇಂಟರ್‌ಫೇಸ್ ಮಟ್ಟದಲ್ಲಿ softAP ESP32 ಒಳಬರುವ ಮತ್ತು ಹೊರಹೋಗುವ ದಟ್ಟಣೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ನಿಯಂತ್ರಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು, ಈ ಮೋಡ್ ಅನ್ನು ಬಳಸುವ ಇತರ ವಿಧಾನಗಳ ಕುರಿತು ನೀವು ಯೋಚಿಸಬಹುದು: Ehernet ಹೆಡರ್ (destMAC[6]+srcMAC[6]+ಟೈಪ್[2]) + ಪೇಲೋಡ್ (IP4, IP6, DCHP, ಇತ್ಯಾದಿ ಪ್ರಕಾರ).

ತಾತ್ವಿಕವಾಗಿ, ESP32 ವೈಫೈ-> ವೈಫೈ ರೂಟರ್ ಕಾರ್ಯವನ್ನು ಚೆನ್ನಾಗಿ ನಿಭಾಯಿಸುತ್ತದೆ, ಯಾವುದೇ ವಿಶೇಷ ವಿಳಂಬವಿಲ್ಲದೆ ಸಾಮಾನ್ಯ ಟ್ರಾಫಿಕ್ ಮೂಲಕ ಹಾದುಹೋಗುತ್ತದೆ. ವಸ್ತುನಿಷ್ಠವಾಗಿ, ESP32 ನಲ್ಲಿ ರೂಟರ್ ಮೂಲಕ ಸಂಪರ್ಕಗೊಂಡಿರುವ ಫೋನ್‌ನಲ್ಲಿನ ವಿಳಂಬಗಳು ಗಮನಿಸುವುದಿಲ್ಲ.

ದುರದೃಷ್ಟವಶಾತ್, SoftAP EPS32 ಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವ MAC ಗಾಗಿ ಫಿಲ್ಟರ್ ಅನ್ನು ಹೊಂದಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು Espressif API ಹೊಂದಿಲ್ಲ. ಬದಲಿಗೆ, "ಇಷ್ಟವಿಲ್ಲದ" ಈಗಾಗಲೇ ಸಂಪರ್ಕಗೊಂಡಿರುವ STA ಗಳಿಗೆ "ವಿದಾಯ" (esp_wifi_deauth_sta) ಹೇಳಲು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ.

ಸಂಪರ್ಕಿತ STA ಗಳಿಗೆ MAC ಮೂಲಕ ಫಿಲ್ಟರಿಂಗ್ ಅನ್ನು esp_wifi_deauth_sta() ಕರೆ ಮೂಲಕ ಮಾಡಬೇಕಾಗಿತ್ತು

ತೀರ್ಮಾನಕ್ಕೆ

ESP32 ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಚೌಕಟ್ಟಿನೊಳಗೆ ನಾನು ಹೊಸದನ್ನು ಏನನ್ನೂ ಮಾಡದಿದ್ದರೂ, ಬಹುಶಃ ಫಲಿತಾಂಶ (ಮೂಲ ಕೋಡ್) ಯಾರಿಗಾದರೂ ಆಸಕ್ತಿದಾಯಕವಾಗಿರುತ್ತದೆ.

ಕೋಡ್ ಅನ್ನು ಶೈಕ್ಷಣಿಕ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಮಾತ್ರ ಬರೆಯಲಾಗಿದೆ ಎಂದು ನಾನು ಗಮನಿಸಲು ಬಯಸುತ್ತೇನೆ. "ಹ್ಯಾಕಿಂಗ್" ಇತ್ಯಾದಿಗಳಿಗಾಗಿ, ಇದು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿಲ್ಲ.

ನಾನು ಮುದ್ರಿತ ಸರ್ಕ್ಯೂಟ್ ಬೋರ್ಡ್ ಅನ್ನು ಮಾಡಲಿಲ್ಲ ಏಕೆಂದರೆ ತಂತಿಯೊಂದಿಗೆ ಸಿದ್ಧಪಡಿಸಿದ ಶಿರೋವಸ್ತ್ರಗಳನ್ನು ಬೆಸುಗೆ ಹಾಕಲು 1.5-2 ಗಂಟೆಗಳನ್ನು ತೆಗೆದುಕೊಂಡಿತು.

ಮತ್ತು ನೀವು ಮಾಡಿದರೆ, ನೀವು ಅದನ್ನು ಸಿದ್ಧಪಡಿಸುವ ಬೋರ್ಡ್‌ಗಳಿಂದ ಅಲ್ಲ, ಆದರೆ ಪ್ರತ್ಯೇಕ ಘಟಕಗಳಿಂದ ಜೋಡಿಸಬೇಕಾಗಿದೆ. ನಂತರ ಆಯಾಮಗಳು ಇನ್ನೂ ಚಿಕ್ಕದಾಗಿರುತ್ತವೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ