چگونه به فعال کردن گپ و ارتباطات بیش از Wi-Fi با یک ESP32


PirateBox است یک راه عالی برای برقراری ارتباط با دیگران در این نزدیکی هست زمانی که تلفن همراه و Wi-Fi در دسترس نیست. با آن شما می توانید به صورت ناشناس به اشتراک گذاری هر نوع از رسانه ها و یا سند و حتی صحبت کردن به یک دیگر با صدای — بدون آنلاین بودن. اما به آن نیاز دارد یک Raspberry Pi است که گران تر از ESP32 تخته و اگر شما فقط نیاز به یک متن مبتنی بر چت وجود دارد بسیار ساده تر را انتخاب کنید.

با ارزان ESP32 میکروکنترلر و ChatterBox طرح برای آردوینو شما می توانید ایجاد آفلاین ناشناس چت سرور برای برقراری ارتباط با دیگران از طریق متن. به عنوان طولانی به عنوان آنها می تواند اتصال به ESP32 شبکه و بازدید, سرور چت, صفحه, آنها می توانند پیام های خود را برای دیگران به عنوان خوانده شده و همچنین به عنوان همه چیز را ببینید که در حال حاضر نوشته شده است در آن وجود دارد.

چیزی شبیه به این ممکن است مفید برای انواع شرایط از جمله پس از یک فاجعه در منطقه است که فوق العاده از راه دور و یا به عنوان یک pop-up جامعه بیلبورد برای یادگیری در مورد چیزهای مهم در این منطقه است. برای مثال در طول اعتراضات و تظاهرات مردم می توانند با اتصال و همه را با ارائه مراحل بعدی هشدار دادن به دیگران از نقاط مشکل و یا پلیس فعالیت مخفیانه با تدبیر و برنامه عمل در میان چیزهای دیگر — به طوری که هر کس ناشناس باقی مانده است.

با استفاده از یک ESP32 هیئت مدیره خواهد نگه داشتن هزینه های خود را پایین پس هیچ گران قیمت Raspberry Pi مانند PirateBox نیاز دارد. پنج دلار است که همه در آن طول می کشد و یا گرفتن. و آن را دارای قدرت پردازش لازم برای قرار دادن یک چت سرور و ایجاد یک نقطه دسترسی Wi-Fi برای اتصال به آن است. چت سرور کار می کند درست در یک مرورگر وب پس از هر دستگاه با یک مرورگر می توانید با عضویت و شرکت کنند.

آنچه شما نیاز دارید

به دنبال همراه با راهنمای زیر, شما نیاز به Arduino IDE نصب شده بر روی کامپیوتر شما. شما همچنین نیاز به یک ارزان ESP32 مبتنی بر میکروکنترلر. برخی از ESP8266 تخته نیز ممکن است که ما قبل از استفاده در دیگر Null Byte راهنماهای. من با استفاده از یک D1 مینی ESP32 توسعه مدیره که کمتر از 4 دلار در AliExpress. شما همچنین نیاز به یک کابل میکرو USB برای اتصال بورد به کامپیوتر خود را به فلش ChatterBox و قدرت تا ESP32.

مرحله 1: نصب ESP32 هیئت مدیره در Arduino IDE

برای دسترسی به ما ESP32 میکروکنترلر, ما نیاز به نصب این بسته که شامل همه سازگار تخته. باز Arduino IDE برنامه با کلیک بر روی “فایل” و سپس “تنظیمات.”

بعدی چسباندن URL زیر دیده می شود:

https://dl.espressif.com/dl/package_esp32_index.json

به “اضافی هیئت مدیره و مدیر آدرس” میدان و بر روی “OK.” شما ممکن است نیاز به تغییر محل سکونت خود sketchbook قبل از انجام این کار.

حالا که ما دریافت بسته ما نیاز به آن را نصب کنید پس از رفتن به “ابزار” و سپس “هیئت مدیره است.” در منوها را انتخاب کنید “تخته مدیر.”

جستجو برای “esp32” و سپس نصب کنید یکی از ما دریافت شده توسط Espressif سیستم. هنگامی که آن را انجام داده و بر روی دکمه “بستن” را به پایان برساند.

Step 2: دانلود برنامه ChatterBox

با ما ESP32 تابلوهای نصب شده از آن زمان به دانلود ChatterBox برنامه توسط fenwick67 از GitHub. این ESP32 ChatterBox لوایح خود را به عنوان یک ناشناس عمومی, تابلو اعلانات, اما وجود دارد بسیاری از چیزهایی که ما می توانید استفاده از آن برای. برای دانلود آن استفاده کنید:

~$ git clone https://github.com/fenwick67/esp32-chatterbox.git شبیه سازی به 'esp32-chatterbox'...
کنترل از راه دور: شمارش اشیاء: 31 انجام می شود.
کنترل از راه دور: در مجموع 31 (دلتا 0) مورد استفاده مجدد قرار 0 (دلتا 0) بسته-31 مورد استفاده مجدد قرار
دریافت اشیاء: 100% (31/31), 8.09 KiB | 2.70 مگابایت/s انجام می شود.
حل و فصل دلتا: 100% (12/12) انجام می شود.

در حال حاضر تغییر (cd) به این دایرکتوری با:

~$ cd esp32-chatterbox
~/esp32-chatterbox$

و فهرست محتویات آن را با ls.

~/esp32-chatterbox$ ls build.js تمیز....ino esp32_chatterbox.ino
HTMLPAGE.ثانیه index.html نوشته های README.md

وجود دارد چند چیز مختلف ذکر شده اما مهم ترین آنهایی هستند esp32_chatterbox.ino و HTMLPAGE.ثانیه فایل های.

مرحله 3: باز کردن ChatterBox Arduino فایل

در حال حاضر وقت آن است برای باز کردن esp32_chatterbox.ino فایل در Arduino IDE. شما می توانید به سادگی به “فایل” و سپس “باز” در برنامه و سپس پیدا کردن و باز کردن فایل. شما همچنین می توانید با استفاده از ترمینال با استفاده از دستور زیر به انجام این کار. اگر شما در macOS انجام این کار استفاده از کفش به جای xdg-open.

~/esp32-chatterbox$ xdg-open esp32_chatterbox.ino

به عنوان به زودی به عنوان آن را باز Arduino IDE در حال رفتن به می گویند که فایل “باید در داخل طرح نام پوشه ‘esp32_chatterbox’. ایجاد این پوشه انتقال فایل و ادامه دهید؟” کلیک کنید “OK” را به انجام این کار. یکی از مهم فایل ما نیاز نیست منتقل و بیش با آن HTMLPAGE.ثانیه, فایل, بنابراین ما باید برای انجام این کار به صورت دستی حذف به مطمئن شوید که هیچ سکسکه در طول راه.

لیست محتویات دایرکتوری دوباره و شما خواهید دید که آن را ایجاد “esp32_chatterbox” پوشه. که پوشه در حال حاضر شامل طرح پرونده ما باز شد.

~/esp32-chatterbox$ ls build.js تمیز....ino esp32_chatterbox
HTMLPAGE.ثانیه index.html نوشته های README.md

به حرکت HTMLPAGE.ثانیه فایل آن را با استفاده از دستور زیر.

~/esp32-chatterbox$ mv HTMLPAGE.ثانیه esp32_chatterbox

در حال حاضر تغییر به esp32_chatterbox پوشه:

~/esp32-chatterbox$ cd esp32_chatterbox
~/esp32-chatterbox/esp32_chatterbox$

سپس لیست مطالب خود را به بررسی کنید که .ثانیه فایل منتقل شد و بیش درست است.

~/esp32-chatterbox/esp32_chatterbox$ ls esp32_chatterbox.ino HTMLPAGE.ثانیه

گام 4: تنظیم طرح در صورت لزوم

نگاهی به طرح کد. اگر شما می خواهید, شما می توانید برخی از متغیرها و سفارشی کردن آن همه اگر شما می خواهید HTML به مانند بیش از فقط یک رابط عمومی در این پروژه به پایان رسید اما ما نگران نیستید که در مورد حق در حال حاضر. تنها چیزی که من قصد دارم به انجام این کار در اینجا است که تغییر نام نقطه دسترسی بر خط 84 از:

WiFi.softAP("ChatterBox");

به یک AP نام است که من می خواهم مردم را به استفاده از:

WiFi.softAP("NullByteNet");

پس کد کامل باید شبیه به این با هر AP نام شما را در انتخاب وجود دارد به جای اگر شما سفارشی. شما می توانید نگه داشتن آن به عنوان “ChatterBox” و شما می تواند کاملا خوب است.

#include <فای.h>
#include <DNSServer.h>
#include <وب سرور است.h>
#include <SPIFFS.h>
#include <FS.h>
#include "HTMLPAGE.h" #define FORMAT_SPIFFS_IF_FAILED واقعی
#define RECORD_SEP "\x1E" const بایت DNS_PORT = 53;
IPAddress daniela(192, 168, 1, 1);
DNSServer dnsServer;
سرور سرور(80); const char* filename = "/posts.txt"; از درجه اعتبار ساقط sendPage(){ سریال.println("GET /");
سرور.ارسال(200,"text/html",HTMLPAGE);
} از درجه اعتبار ساقط sendMessages(){ سریال.println("GET /posts"); فایل file = SPIFFS.باز(نام فایل FILE_READ);
if(!file){ سریال.println("- موفق به باز کردن فایل برای خواندن");
} سرور.streamFile(فایل"text/plain"); فایل.close();
} از درجه اعتبار ساقط receiveMessage(){ سریال.println("POST /post"); int argCount = server.استدلال(); اگر (argCount == 0){ سریال.println("صفر استدلال?");
} فایل file = SPIFFS.باز(نام فایل FILE_APPEND);
if(!file){ سریال.println("- موفق به باز کردن فایل برای نوشتن");
} اگر(argCount == 1){ رشته خط = server.ارگ(0);
خط.جایگزین(String(RECORD_SEP) رشته(""));
فایل.چاپ(خط);
فایل.چاپ(RECORD_SEP); سریال.print("پیام جدید: ");
سریال.println(خط);
}
فایل.close(); سرور.ارسال(200 متن".دشت","");
} void setup() {
سریال.شروع(115200);
if(!SPIFFS.شروع(FORMAT_SPIFFS_IF_FAILED)){ سریال.println("SPIFFS کوه Failed");
بازگشت ؛ } // مقداردهی اولیه فایل (نه کاملا مطمئن شوید که این کار لازم است اما YOLO) فایل file = SPIFFS.باز(نام فایل FILE_READ);
if(!file){
فایل.close(); فایل file_write = SPIFFS.باز(نام فایل FILE_WRITE);
if(!file_write){ سریال.println ("موفق به ایجاد فایل?!?");
}
else{
file_write.print("");
file_write.close();
}
}else{
فایل.close();
} WiFi.حالت(WIFI_AP); WiFi.softAPConfig(daniela, daniela, IPAddress(255, 255, 255, 0));
WiFi.softAP("NullByteNet"); // اگر DNSServer است آغاز شده با "*" برای نام دامنه آن را با پاسخ // ارائه IP تمام DNS درخواست dnsServer.شروع(DNS_PORT, "*", daniela); // init سرور http سرور.در("/", HTTP_GET, sendPage); سرور.در("/index.html", HTTP_GET, sendPage); سرور.در("/posts", HTTP_GET, sendMessages); سرور.در("/post", HTTP_POST, receiveMessage);
سرور.begin();
} void loop() {
dnsServer.processNextRequest();
سرور.handleClient(); // یک نوع "c" در serial monitor برای تمیز کردن پایگاه داده اگر (سریال.در دسترس() > 0) { int incomingByte = Serial.read(); اگر(incomingByte == 99){ سریال.println("جای نوشتن فایل..."); فایل file_write = SPIFFS.باز(نام فایل FILE_WRITE);
file_write.print("");
file_write.close(); سریال.println("فایل رونویسی :)");
}
} }

گام 5: فلش ChatterBox به خود ESP32 هیئت مدیره

ما تقریبا وجود دارد! در حال حاضر اتصال خود را ESP32 به کامپیوتر خود را با کابل USB آن و سپس قرار دادن آن در Arduino IDE. رفتن به “ابزار” و سپس “هیئت مدیره” و شما باید یک تن از ESP32 تابلوهای ذکر شده است. پیدا کردن مدل خود را و سپس بر روی آن کلیک کنید به آن را انتخاب کنید.

بقیه از این تنظیمات باید بیشتر به طور پیش فرض برای آنهایی که سمت راست, اما مطمئن شوید که پورت درست است. در “ابزار” انتخاب کنید “پورت” و سپس تغییر آن به درست اگر آن را ندارد در حال حاضر انتخاب شده به صورت خودکار.

به فلش بیش از ChatterBox به خود ESP32 با کلیک بر روی دکمه آپلود (فلش سمت راست در بالا سمت چپ). شما یک دسته از مسائل اتفاق می افتد. یک بار این متن قرمز به نظر می رسد بر روی صفحه نمایش شما می دانید آن را در واقع فلاش آن را بیش از. هنگامی که آن را انجام, شما می توانید باز کردن سریال مانیتور با Control-Shift-M مطمئن شوید که وجود دارد هیچ دیوانه خطا یا brownouts و به دنبال راهاندازی مجدد.

مرحله 6: اسکن برای چت و آدرس IP

بعدی اجرای یک arp-scan برای پیدا کردن آدرس IP که چت صفحه وب است.

~/esp32-chatterbox/esp32_chatterbox$ arp-scan-l رابط: en0, datalink نوع: EN10MB (اترنت)
شروع arp-scan 1.9.5 با 256 میزبان (https://github.com/royhills/arp-scan)
192.168.1.1 3c:71:bf:f9:e3:51 (نامعلوم) 516 بسته های دریافت شده توسط فیلتر, 0 بسته کاهش kernel
پایان arp-scan 1.9.5: 256 میزبان اسکن شده در 1.858 ثانیه (137.78 میزبان/sec). 1 پاسخ

همانطور که می بینید من ESP32 است که با استفاده از 192.168.1.1 است که بسیار تعجب آور است.

گام 7: باز کردن چت در یک مرورگر

در گوشی های هوشمند خود و یا کامپیوتر قرار Wi-Fi ایجاد شده توسط ESP32 و اتصال به آن است. سپس در یک پنجره مرورگر وب, حرکت به آدرس IP شما را در بر داشت در مرحله قبل. در مورد من که 192.168.1.1. هنگامی که شما برای باز کردن صفحه شما باید توانایی ارسال و دریافت پیام های چت.

اگر شما به هر گونه مسائل مهم مطمئن شوید که ESP32 گرفتن قدرت به اندازه کافی به آن است. سپس هر کس دیگری برای اتصال به چت خود را به طوری که شما می توانید تمام برقراری ارتباط ناشناس.

این یک بازی ساده اما مفید گزینه با هزینه کم

ChatterBox است فوق العاده پیچیده چت, رابط, آن را قطعا یک کمی حشره دار و آن را سریعترین. هنوز هم اگر شما در یک منطقه که در آن وجود دارد هیچ گزینه ای دیگر این ترفند را انجام دهد.

چه جالب در مورد چت است که وجود دارد نه بسیاری از محدودیت در چقدر شما می توانید نوع یا رب بنابراین اگر شما می خواهید برای قرار دادن در یک بلوک از متن شما می توانید. اگر شما می خواهید به روشن چت, شما می توانید از سریال مانیتور با تایپ کردن (c) و هدف قرار دادن “ارسال شده است.”

همانطور که می بینید یک ESP32 چت سرور یکی از راه های ما می تواند به برقراری ارتباط با هر یک از دیگر زمانی که ما نمی باید زیرساخت های معمولی مانند برج های سلولی به دور با آن را از لحاظ فنی. همه شما واقعا نیاز به یک میکروکنترلر که هزینه پنج دلار به من بدهید و یا, و شما یک راه ساده برای ارسال و دریافت پیام ها به دیگر مردم در این نزدیکی هست.

شما می توانید ترک آن را در به عنوان یک مرده رها کردن شاید در یک محل که در آن مردم می رفتن و ترک پیام برای هر یک از دیگر. که راه شما باید یک راه شسته و رفته از تعامل با دیگران است.

اگر شما مانند قابلیت های این پروژه شما باید چک کردن آفلاین ارتباطات صوتی پروژه با Raspberry Pi و PirateBox. آن را در یک ورید مشابه با بسیاری قابلیت های بیشتر مانند فایل های. ChatterBox در یک ESP32 نوع مثل خواهر و برادر به این پروژه اما هر دو دارای مزایا و تجدید نظر شود.

می خواهید شروع به ساختن پول به عنوان یک کلاه سفید هکر? پرش شروع خود را-کلاه سفید هک حرفه ای با ما 2020 حق بیمه هک اخلاقی, گواهینامه آموزشی از بسته نرم افزاری جدید Null Byte فروشگاه و دریافت بیش از 60 ساعت آموزش از هک اخلاقی حرفه ای است.

خرید در حال حاضر (96٪) >

عکس پوشش توسط Br3nda/فلیکر; تصاویر توسط Retia/Null Byte

tinyurlis.gdu.nuclck.ruulvis.netshrtco.de

Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>