সুচিপত্র:
- ধাপ 1: বিক্ষোভ
- ধাপ 2: সমাবেশ
- ধাপ 3: সমাবেশ - টেবিল
- ধাপ 4: ইউবিডটস
- ধাপ 5: SimpleDHT লাইব্রেরি
- ধাপ 6: PubSubClient লাইব্রেরি
- ধাপ 7: TinyGSM লাইব্রেরি
- ধাপ 8: TFT_eSPI লাইব্রেরি
- ধাপ 9: TFT_eSPI লাইব্রেরি
- ধাপ 10: ইউবিডটস
- ধাপ 11:.ino তে ডেটা পরিবর্তন করা
- ধাপ 12: GPRS_ESP32_DHT.ino - ঘোষণা এবং পরিবর্তনশীল
- ধাপ 13: পিন করা
- ধাপ 14: সেটআপ
- ধাপ 15: SetupDisplay
- ধাপ 16: সেটআপ জিএসএম
- ধাপ 17: সংযোগ MQTTS সার্ভার
- ধাপ 18: লুপ
- ধাপ 19: ReadDHT
- ধাপ 20: MQTT প্রকাশ করুন
- ধাপ 21: CreateJsonString
- ধাপ 22: ShowDataOnDisplay
- ধাপ 23: ফাইল
ভিডিও: ESP32: 23 ধাপ সহ সেলুলার নেটওয়ার্কের সাথে IOT
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
আজ আমরা জিপিআরএস মডেম, বা বরং, ইএসপি 32 এবং সেলুলার টেলিফোন নেটওয়ার্কের সাথে এর ব্যবহার নিয়ে আলোচনা করব। এটি এমন কিছু যা খুব ভালভাবে কাজ করে। এমকিউটিটি প্রোটোকল ব্যবহার করে, আমরা ইউবিডটস ড্যাশবোর্ডে ডেটা পাঠাব। এই সমাবেশে SIM800L এবং একটি সেল ফোন চিপ ছাড়াও সার্কিটের প্রতিক্রিয়ার জন্য একটি ডিসপ্লে ব্যবহার করুন। এই প্রকল্পের সাথে, তাই, আমরা জিপিআরএস এবং এমকিউটিটির মাধ্যমে তাপমাত্রা এবং আর্দ্রতার ডেটা পাঠাব এবং একটি লাইন চার্টে ডেটা কল্পনা করব।
ধাপ 1: বিক্ষোভ
ধাপ 2: সমাবেশ
ধাপ 3: সমাবেশ - টেবিল
ধাপ 4: ইউবিডটস
ধাপ 5: SimpleDHT লাইব্রেরি
Arduino IDE- এ, Sketch-> Include Library-> Manage Library- এ যান …
SimpleDHT ইনস্টল করুন
ধাপ 6: PubSubClient লাইব্রেরি
Arduino IDE- এ, Sketch-> Include Library-> Manage Library- এ যান …
PubSubClient ইনস্টল করুন
ধাপ 7: TinyGSM লাইব্রেরি
আরডুইনো আইডিইতে, স্কেচ-> লাইব্রেরি অন্তর্ভুক্ত করুন-> লাইব্রেরি পরিচালনা করুন …
TinyGSM ইনস্টল করুন
ধাপ 8: TFT_eSPI লাইব্রেরি
আরডুইনো আইডিইতে, স্কেচ-> লাইব্রেরি অন্তর্ভুক্ত করুন-> লাইব্রেরি পরিচালনা করুন …
TFT_eSPI ইনস্টল করুন
ধাপ 9: TFT_eSPI লাইব্রেরি
Lib ফোল্ডারে ডিসপ্লে পিন পরিবর্তন করুন।
User_Setup.h ফাইলে পিন করা আছে
C: / Users / ocu Documents / Arduino / লাইব্রেরি / TFT_eSPI
এই ডিফল্টগুলিকে ছবিতে নিম্নলিখিত মানগুলিতে পরিবর্তন করুন।
ধাপ 10: ইউবিডটস
আপনার অ্যাকাউন্ট দিয়ে ইউবিডটসে লগ ইন করুন এবং ডিভাইসগুলিতে ক্লিক করুন
উপরের ডান কোণে "+" বোতামে ক্লিক করুন
ফাঁকা ক্লিক করুন
ডিভাইসের নাম লিখুন। "ডিভাইসের লেবেল" নোট করুন, কারণ এটি "বিষয়" ব্যবহার করা হবে যা আমরা.ino তে ব্যবহার করব
ডিভাইসের তালিকায়, আপনি যে ডিভাইসটি তৈরি করেছেন সেটি প্রদর্শিত হবে। এটিতে ক্লিক করুন।
প্রদর্শিত স্ক্রিনে, "ভেরিয়েবল যোগ করুন" এ ক্লিক করুন। একটি পপআপ আসবে। "কাঁচা" এ ক্লিক করুন।
টেক্সট বক্সে ক্লিক করুন এবং সম্পত্তির নাম লিখুন।
এটা ঠিক হতে হবে যা আমরা.ino এর জসনে পাঠাবো। অন্যান্য সম্পত্তির জন্য এটি পুনরাবৃত্তি করুন।
ইউবিডটস লোগোতে ক্লিক করে ড্যাশবোর্ডে ফিরে যান।
ড্যাশবোর্ডে, "নতুন উইজেট যুক্ত করুন" এ ক্লিক করুন
উইজেটের তালিকায়, "ডাবল অক্ষ" নির্বাচন করুন
ধাপ 11:.ino তে ডেটা পরিবর্তন করা
ধাপ 12: GPRS_ESP32_DHT.ino - ঘোষণা এবং পরিবর্তনশীল
#TINY_GSM_MODEM_SIM800 // Tipo de modem que estamos usando #include #include #include #include #include // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnopqrdosdusdosdusdosdusdos postd posts temped temped tempes temped temped tempes temped temped temped tempes temped temped temped tempes temped temped temped tempes temped tempe tempe tempe tempe (esp32_gprs é o nome do dispositivo no Ubidots) #define TOPIC "/v1.6/devices/esp32_gprs" // id do dispositivo que pegamos no painel do Ubidots #define DEVICE_ID "5c01234567890abc12345678" URL #ERDOER #ER #DERER #ER #DERER #ER #DERER #ER #DERER #ER #DERER #ER #DERER #ER #DERERDER mqtt: //things.ubidots.com "// Porta padrão do MQTT #defeine MQTT_PORT 1883 // Pino onde está o DHT22 #define DHT_PIN 27
ধাপ 13: পিন করা
// Pinagem em User_Setup.h na pasta da bibliotecaTFT_eSPI display = TFT_eSPI (); // Intervalo entre os envios e refresh da tela #define INTERVAL 10000 // Canal serial que vamos usar para comunicarmos com o modem। সেম্পার 1 হার্ডওয়্যার সিরিয়াল সিরিয়াল জিএসএম (1) ব্যবহার করুন; TinyGsm modemGSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Cliente MQTT, passamos a url do server, a porta // e o cliente GSM PubSubClient client (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; ভাসমান আর্দ্রতা; // Variável onde iremos armazenar o valor da umidade float temperature; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objeto que realizará a leitura da umidade e temperatura
ধাপ 14: সেটআপ
অকার্যকর সেটআপ () {Serial.begin (115200); setupDisplay (); // Inicializa e configura o display setupGSM (); // Inicializa e configura o modem GSM connectMQTTServer (); // Conectamos ao mqtt server // Espera 2 segundos e limpamos o display বিলম্ব (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
ধাপ 15: SetupDisplay
void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Limpa o display com a cor azul display.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca o texto como branco com fundo azul display.setTextWrap (সত্য, সত্য); // Ativa quebra de linha display.setTextSize (1); display.setCursor (0, 0, 2); // Posicção x, y e fonte do texto display.println ("Setup Display Complete"); }
ধাপ 16: সেটআপ জিএসএম
অকার্যকর সেটআপ GSM () {display.println ("GSM সেটআপ করুন …"); // Inicializamos একটি সিরিয়াল onde está o modem SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); বিলম্ব (3000); // Mostra informação sobre o modem Serial.println (modemGSM.getModemInfo ()); // Inicializa o modem if (! ModemGSM.restart ()) {display.println ("জিএসএম মডেম পুনরায় চালু করা ব্যর্থ হয়েছে"); বিলম্ব (10000); ESP.restart (); প্রত্যাবর্তন; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("নেটওয়ার্কের সাথে সংযোগ করতে ব্যর্থ"); বিলম্ব (10000); ESP.restart (); প্রত্যাবর্তন; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "") {display.println ("GPRS Connection Failed"); বিলম্ব (10000); ESP.restart (); প্রত্যাবর্তন; } display.println ("সেটআপ জিএসএম সাফল্য"); }
ধাপ 17: সংযোগ MQTTS সার্ভার
অকার্যকর সংযোগ MQTTServer () {display.println ("MQTT সার্ভারে সংযুক্ত হচ্ছে …"); // se conecta ao device que definimos if (client.connect (DEVICE_ID, TOKEN, "")) {// Se a conexão foi bem sucedida display.println ("সংযুক্ত"); } else {// Se ocorreu algum erro display.print ("error ="); display.println (client.state ()); বিলম্ব (10000); ESP.restart (); }}
ধাপ 18: লুপ
void loop () {// Faz a leitura da umidade e temperatura readDHT (); // Se desconectou do server MQTT if (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // টেম্পো decorrido desde o boot em milissegundos স্বাক্ষরবিহীন দীর্ঘ = মিলিস (); // Se passou o intervalo de envio if (now - lastTime> INTERVAL) {// Publicamos para o server mqtt publishedMQTT (); // Mostramos os dados no display showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = now; }}
ধাপ 19: ReadDHT
অকার্যকর readDHT () {float t, h; // Faz a leitura da umidade e temperatura e apenas atualiza as variáveis se foi bem sucedido if (dht.read2 (DHT_PIN, & t, & h, NULL) == SimpleDHTErrSuccess) {temperature = t; আর্দ্রতা = জ; }}
ধাপ 20: MQTT প্রকাশ করুন
void publishedMQTT () {// Cria o json que iremos enviar para o server MQTT String msg = createJsonString (); সিরিয়াল.প্রিন্ট ("বার্তা প্রকাশ করুন:"); Serial.println (msg); // Publicamos no tópico int status = client.publish (TOPIC, msg.c_str ()); Serial.println ("Status:" + String (status)); // status 1 se sucesso ou 0 se deu erro}
ধাপ 21: CreateJsonString
স্ট্রিং createJsonString () {String data = "{"; যদি (! isnan (আর্দ্রতা) &&! isnan (তাপমাত্রা)) {তথ্য+= "\" আর্দ্রতা / ":"; ডেটা+= স্ট্রিং (আর্দ্রতা, 2); ডেটা+= ","; ডেটা+= "\" তাপমাত্রা / ":"; ডেটা+= স্ট্রিং (তাপমাত্রা, 2); } ডেটা+= "}"; তথ্য ফেরত; }
ধাপ 22: ShowDataOnDisplay
অকার্যকর ShowDataOnDisplay () {// Reseta a posição do cursor e mostra umidade e temperatura lidas display.setCursor (0, 0, 2); display.println ("আর্দ্রতা:" + স্ট্রিং (আর্দ্রতা, 2 %)); display.println ("তাপমাত্রা:" + স্ট্রিং (তাপমাত্রা, 2)); }
ধাপ 23: ফাইল
ফাইলগুলি ডাউনলোড করুন
আইএনও
পিডিএফ
প্রস্তাবিত:
ওয়্যারলেস নেটওয়ার্কের মাধ্যমে যেকোন কম্পিউটারে ল্যান চালু করুন: 3 টি ধাপ
ওয়্যারলেস নেটওয়ার্কের মাধ্যমে যেকোন কম্পিউটারে ল্যান চালু করুন: রাস্পবিপিয়ান ইমেজের পরিবর্তনের কারণে এই টিউটোরিয়ালটি আর আপ টু ডেট নেই। অনুগ্রহ করে এখানে আপডেট করা টিউটোরিয়ালটি অনুসরণ করুন: https://www.instructables.com/id/Raspberry-Pi-As-Wake-on-LAN-ServerWOL আজকাল প্রায় সব ইথারনেট পোর্টে উপস্থিত। এটা নয়
আপনার আরডুইনোকে আইপি নেটওয়ার্কের সাথে সংযুক্ত করার জন্য কীভাবে আপনার নিজের ওয়াইফাই গেটওয়ে তৈরি করবেন?: 11 টি ধাপ (ছবি সহ)
আপনার Arduino কে IP নেটওয়ার্কের সাথে সংযুক্ত করার জন্য আপনার নিজের ওয়াইফাই গেটওয়ে কিভাবে তৈরি করবেন? আমি একটি রোবট নিয়ে কাজ করছি যা স্থায়ীভাবে একটি সার্ভারের সাথে সংযুক্ত হওয়া প্রয়োজন যা এআর চালায়
ওয়্যারলেস ক্রেন মডেল (স্মার্ট বিওটি) নেটওয়ার্কের উপর গোয়েন্দা ক্যামেরা সহ (ওয়াইফাই বা হটস্পট): 8 টি ধাপ
ওয়্যারলেস ক্রেন মডেল (স্মার্ট বিওটি) স্পাইং ক্যামেরা ওভার দ্য নেটওয়ার্কে (ওয়াইফাই বা হটস্পট): যেকোনো প্রজেক্ট তৈরির জন্য আমরা কিছু ধাপ অতিক্রম করি:-প্রজেক্টের জন্য প্রয়োজনীয় সামগ্রী বিলিং সম্পর্কিত ধারণাগুলির জন্য অনুসন্ধান
বাহ্যিক বাহিনীর সাথে স্থানচ্যুত হলে একটি জেনারেটেড ফাইবার নেটওয়ার্কের পরিবর্তন পরিমাপ: 8 টি ধাপ
বাহ্যিক বাহিনীর সাথে স্থানচ্যুত হলে একটি জেনারেটেড ফাইবার নেটওয়ার্কের পরিবর্তন পরিমাপ: কোষগুলি তাদের আশেপাশের এক্সট্রা সেলুলার ম্যাট্রিক্স (ইসিএম) এর সাথে যোগাযোগ করতে সক্ষম হয় এবং উভয়ই প্রয়োগ করতে পারে এবং ইসিএম দ্বারা প্রয়োগ করা বাহিনীর প্রতি সাড়া দিতে পারে। আমাদের প্রকল্পের জন্য, আমরা ফাইবারের একটি আন্তlসংযুক্ত নেটওয়ার্ক অনুকরণ করি যা ECM হিসাবে কাজ করবে এবং দেখবে কিভাবে
ESP32 ঘড়ি ওয়াইফাই, ESP- এখন, এবং সেলুলার ব্যবহার করে: 4 টি ধাপ
ইএসপি 32 ঘড়ি ওয়াইফাই, ইএসপি-এখন এবং সেলুলার ব্যবহার করে: এটি একটি ইএসপি 32 ভিত্তিক ওয়াইফাই ঘড়ি যা আমি বেতার প্রতিযোগিতার জন্য তৈরি করেছি। আমি এই ঘড়িটিকে অতিমাত্রায় বেতার করার সিদ্ধান্ত নিয়েছি যাতে এটি তিনটি ভিন্ন ধরনের বেতার যোগাযোগ ব্যবহার করে (ওয়াইফাই, ইএসপি-নাউ, এবং সেলুলার)। ফোনটি একটি সেল টাওয়ারের সাথে সংযুক্ত এবং