সুচিপত্র:

মাইক্রোপিথন ইএসপি 32 এর উপর ভিত্তি করে লোরা গেটওয়ে: 10 টি ধাপ (ছবি সহ)
মাইক্রোপিথন ইএসপি 32 এর উপর ভিত্তি করে লোরা গেটওয়ে: 10 টি ধাপ (ছবি সহ)

ভিডিও: মাইক্রোপিথন ইএসপি 32 এর উপর ভিত্তি করে লোরা গেটওয়ে: 10 টি ধাপ (ছবি সহ)

ভিডিও: মাইক্রোপিথন ইএসপি 32 এর উপর ভিত্তি করে লোরা গেটওয়ে: 10 টি ধাপ (ছবি সহ)
ভিডিও: Как спрятать данные в ячейках Excel? 2024, নভেম্বর
Anonim
মাইক্রোপাইথন ইএসপি 32 এর উপর ভিত্তি করে লোরা গেটওয়ে
মাইক্রোপাইথন ইএসপি 32 এর উপর ভিত্তি করে লোরা গেটওয়ে
মাইক্রোপাইথন ইএসপি 32 এর উপর ভিত্তি করে লোরা গেটওয়ে
মাইক্রোপাইথন ইএসপি 32 এর উপর ভিত্তি করে লোরা গেটওয়ে

সাম্প্রতিক বছরগুলিতে লোরা খুব জনপ্রিয় হয়েছে। এই প্রযুক্তি ব্যবহার করে ওয়্যারলেস কমিউনিকেশন মডিউল সাধারণত সস্তা (ফ্রি স্পেকট্রাম ব্যবহার করে), আকারে ছোট, শক্তি-সাশ্রয়ী এবং দীর্ঘ যোগাযোগের দূরত্ব থাকে এবং প্রধানত আইওটি টার্মিনালগুলির মধ্যে পারস্পরিক যোগাযোগ বা হোস্টের সাথে ডেটা আদান-প্রদানের জন্য ব্যবহৃত হয়। বাজারে অনেক LoRa মডিউল আছে, যেমন RFM96W, যা SX1278 (সামঞ্জস্যপূর্ণ) চিপ দিয়ে সজ্জিত, যা খুবই ছোট। আমি এটিকে গেটওয়ে হিসাবে মেকপাইথন ইএসপি 32 এর সাথে ব্যবহার করি।

পরবর্তীতে, আমি গেটওয়েতে তাপমাত্রা এবং আর্দ্রতার তথ্য পাঠাতে দুটি LoRa নোড ব্যবহার করব, এবং তারপর গেটওয়ে দিয়ে ইন্টারনেটে আপলোড করব। এখানে আপনি গেটওয়ে দিয়ে একাধিক লোরা নোডের রিমোট ডেটা ক্লাউডে আপলোড করতে শিখবেন।

ধাপ 1: সরবরাহ

সরবরাহ
সরবরাহ

1*মেকপাইথন ESP32

মেকপাইথন ইএসপি 32 একটি ইএসপি 32 বোর্ড যা একটি সমন্বিত এসএসডি 1306 ওএলইডি ডিসপ্লে রয়েছে।

2*মাদুইনো লোরা রেডিও

মাদুইনো লোরা রেডিও হল একটি আইওটি (ইন্টারনেট অফ থিংস) সমাধান যা Atmel এর Atmega328P MCU এবং Lora মডিউলের উপর ভিত্তি করে তৈরি। এটি আইওটি প্রকল্পগুলির জন্য একটি বাস্তব প্রকল্প হতে পারে (বিশেষত দীর্ঘ-পরিসরের, কম বিদ্যুতের প্রয়োগ)

2*DHT11

1*মেকপাইথন লোরা

ধাপ 2: লোরা নোড

লোরা নোড
লোরা নোড
লোরা নোড
লোরা নোড

এটি মাদুইনো লোরা রেডিওর পরিকল্পিত।

লোডা নোড হিসাবে আরডুইনো লোরা রেডিও মডিউল, আমরা গেটওয়েতে তাপমাত্রা এবং আর্দ্রতা ডেটা পাঠাতে এটি ব্যবহার করি।

(এই ওয়াইকি পরিচয় করিয়ে দেয় কিভাবে মাদুইনো লোরা রেডিও ব্যবহার করা যায় এবং ডেটা পাঠানো এবং গ্রহণ করা যায়)

ধাপ 3: নোড এবং সেন্সর সংযোগ

নোড এবং সেন্সর সংযোগ
নোড এবং সেন্সর সংযোগ
নোড এবং সেন্সর সংযোগ
নোড এবং সেন্সর সংযোগ

DHT11 এর VCC এবং GND 3V3 এবং GND এর Maduino এর সাথে সংযুক্ত এবং DATA পিনটি Maduino এর D4 এর সাথে সংযুক্ত।

নোড 0 পার্কে, নোড 1 কোম্পানির কাছে অফিস ভবনে, তারা প্রায় 2 কিলোমিটার দূরে, এবং তারপরে আমি তাদের তাপমাত্রা এবং আর্দ্রতা ডেটা বাড়িতে পাই

ধাপ 4: গেটওয়েতে ডেটা পাঠান

TransmitterDHT11.ino ডাউনলোড করুন, এটি Arduino IDE তে খুলুন।

নোড যুক্ত করার সময়, সেই অনুযায়ী নোড নম্বর পরিবর্তন করুন। উদাহরণস্বরূপ, এখন 2 টি নোড ব্যবহার করুন, প্রোগ্রামটি চালানোর জন্য নোডেনাম = 0 পরিবর্তন করার জন্য প্রথম নোড, প্রোগ্রামটি চালানোর জন্য নোডেনাম = 1 পরিবর্তন করার জন্য দ্বিতীয় নোড, এবং তাই, আপনি আরও নোড যুক্ত করতে পারেন।

int16_t প্যাকেটনাম = 0; // প্যাকেট কাউন্টার, আমরা প্রতি xmission বৃদ্ধি

int16_t নোডেনাম = 0; // নোড নম্বর পরিবর্তন করুন

তথ্য সংগ্রহ করুন এবং এটি মুদ্রণ করুন

স্ট্রিং বার্তা = "#"+(স্ট্রিং) নোডেনাম+"আর্দ্রতা:"+(স্ট্রিং) আর্দ্রতা+"% তাপমাত্রা:"+(স্ট্রিং) তাপমাত্রা+"সি"+"সংখ্যা:"+(স্ট্রিং) প্যাকেটনাম; সিরিয়াল.প্রিন্টলন (বার্তা); প্যাকেটনাম ++;

Rf95_server এ একটি বার্তা পাঠান

uint8_t radioPacket [message.length ()+1];

message.toCharArray (radioPacket, message.length ()+1); radioPacket [message.length ()+1] = '\ 0'; rf95.send ((uint8_t *) radioPacket, message.length ()+1);

সিরিয়াল মনিটরটি খুলুন, আপনি সংগৃহীত তাপমাত্রা এবং আর্দ্রতার ডেটা দেখতে পারেন এবং এটি পাঠাতে পারেন।

#0 আর্দ্রতা: 6.00% তাপমাত্রা: 27.00C সংখ্যা: 0

প্রেরণ: rf95_server- এ পাঠানো হচ্ছে… প্যাকেট সম্পূর্ণ হওয়ার জন্য অপেক্ষা করা হচ্ছে… উত্তরের জন্য অপেক্ষা করা হচ্ছে… কোন উত্তর নেই, আশেপাশে কোন শ্রোতা আছে?

এটা একপাশে রাখুন, এখন আমাদের লোরা গেটওয়ে তৈরি করতে হবে।

ধাপ 5: মেকপাইথন লোরা

মেক পাইথন লোরা
মেক পাইথন লোরা
মেক পাইথন লোরা
মেক পাইথন লোরা
মেক পাইথন লোরা
মেক পাইথন লোরা

এটি RFM96W মডিউল এবং মেকপাইথন ESP32 এর সংশ্লিষ্ট পিন। মেকপাইথন ইএসপি 32 এর সাথে সংযোগ সহজ করার জন্য, আমি আরএফএম 96 ডাব্লু মডিউল দিয়ে একটি সার্কিট বোর্ড তৈরি করেছি। হ্যাঁ, এটিতে দুটি RFM96W রয়েছে, যা একই সময়ে ডেটা প্রেরণ এবং গ্রহণ করতে পারে, কিন্তু এখন আমার কেবল একটি প্রয়োজন।

ধাপ 6: লোরাওয়ান গেটওয়ে

লোরাওয়ান গেটওয়ে
লোরাওয়ান গেটওয়ে

লোরাওয়ান একটি লো-পাওয়ার ওয়াইড-এরিয়া নেটওয়ার্ক যা লোরা ভিত্তিক, যা একটি প্রদান করতে পারে: কম বিদ্যুৎ খরচ, পরিমাপযোগ্যতা, উচ্চমানের পরিষেবা এবং নিরাপদ দূরপাল্লার ওয়্যারলেস নেটওয়ার্ক।

মেকপাইথন লোরা এবং ইএসপি 32 একত্রিত করুন একটি গেটওয়ে তৈরি করতে যা দূরবর্তী ডেটা গ্রহণ করতে পারে এবং এটি ইন্টারনেটে আপলোড করতে পারে।

ধাপ 7: কোড ডাউনলোড করুন

ওয়াইকি থেকে সমস্ত 'xxx.py' ফাইল ডাউনলোড করুন এবং ESP32 এ আপলোড করুন।

LoRaDuplexCallback.py ফাইলটি খুলুন, আপনাকে কিছু সমন্বয় করতে হবে যাতে আপনার ESP32 নেটওয়ার্কের সাথে সংযোগ স্থাপন করতে পারে এবং সার্ভারে ডেটা আপলোড করতে পারে।

ThingSpeak এ আপনি যে API_KEY পেয়েছেন তা সংশোধন করুন (আমি পরে এটি কিভাবে পাবেন তা পরিচয় করিয়ে দেব)

#https://thingspeak.com/channels/1047479

API_KEY = 'UBHIRHVV9THUJVUI'

ওয়াইফাই সংযোগ করতে SSID এবং PSW পরিবর্তন করুন

ssid = "Makerfabs"

pswd = "20160704"

ধাপ 8: ডেটা গ্রহণ করুন

LoRaDuplexCallback.py ফাইলে on_receive (lora, payload) ফাংশনটি খুঁজুন, যেখানে আপনি ডাটা পাওয়ার পর ESP32 কে কি করতে হবে তা বলতে পারেন। নিম্নলিখিত কোডটি পার্স করে এবং প্রাপ্ত তাপমাত্রা এবং আর্দ্রতার ডেটা প্রদর্শন করে।

def on_receive (লোরা, পেলোড):

lora.blink_led () rssi = lora.packetRssi () try: length = len (payload) -1 myStr = str ((payload [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1+1):(length1+6)] myNum2 = myStr [(length1+20):(length1+25)] print ("*** প্রাপ্ত বার্তা *** / n {}"। বিন্যাস (প্লেলোড)) যদি config_lora. IS_LORA_OLED: lora.show_packet (("{}"। বিন্যাস (পেলোড [4: দৈর্ঘ্য])), rssi) যদি wlan.isconnected (): global msgCount print ('Sending to network…') node = int (str (payload [5: 6], 'utf-8')) যদি node == 0: URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 = "+myNum1+" & field2 = "+myNum2 res = urequests.get (URL) print (res.text) elif node == 1: URL =" https://api.thingspeak.com/update?api_key= "+API_KEY+" & field3 = "+myNum1+" & field4 = "+myNum2 res = urequests.get (URL) print (res.text) ব্যতীত e: print (e) print (" RSSI {} n ".format (rssi) সহ)

নোডগুলিকে আলাদা করার জন্য সংখ্যার বিচার করে এবং ইউআরএল এর মাধ্যমে ইন্টারনেটে ডেটা আপলোড করে আমরা যেকোনো সময় বিভিন্ন নোডের দূরবর্তী ডেটা পর্যবেক্ষণ করতে পারি। আপনি আরো নোড যোগ করতে পারেন এবং কোডে অনুরূপ পরিবর্তন করতে পারেন।

যদি নোড == 0:

URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"& field1 ="+myNum1+"& field2 ="+myNum2 res = urequests.get (URL) প্রিন্ট (res.text)

ধাপ 9: ThingSpeak IoT ব্যবহার করুন

ThingSpeak IoT ব্যবহার করুন
ThingSpeak IoT ব্যবহার করুন
ThingSpeak IoT ব্যবহার করুন
ThingSpeak IoT ব্যবহার করুন
ThingSpeak IoT ব্যবহার করুন
ThingSpeak IoT ব্যবহার করুন

পদক্ষেপ:

  1. Https://thingspeak.com/ এ একটি অ্যাকাউন্ট সাইন আপ করুন। আপনার যদি ইতিমধ্যে একটি থাকে তবে সরাসরি সাইন ইন করুন।
  2. নতুন থিংসস্পিক চ্যানেল তৈরি করতে নতুন চ্যানেলে ক্লিক করুন।
  3. ইনপুট নাম, বিবরণ, ক্ষেত্র নির্বাচন করুন 1. তারপর নীচে চ্যানেলটি সংরক্ষণ করুন।
  4. API কী অপশনে ক্লিক করুন, API কী অনুলিপি করুন, আমরা এটি প্রোগ্রামে ব্যবহার করব।

ধাপ 10: ফলাফল

ফলাফল
ফলাফল
ফলাফল
ফলাফল
ফলাফল
ফলাফল

আপনি স্ক্রিনে নোড 0 এবং নোড 1 এর ডেটা দেখতে পারেন, যদিও তারা 2 কিলোমিটার দূরে।

আপনার ThingSpeak অ্যাকাউন্টে লগ ইন করুন এবং আপনার তৈরি করা চ্যানেলে ক্লিক করুন, আপনি আপলোড করা তাপমাত্রা এবং আর্দ্রতার ডেটা দেখতে পাবেন।

ফিল্ড 1 গ্রাফ এবং ফিল্ড 2 গ্রাফ হল লোরা নোড 0 এর আর্দ্রতা এবং তাপমাত্রার ডেটা, এবং ফিল্ড 3 গ্রাফ এবং ফিল্ড 4 গ্রাফ হল লোরা নোড 1 এর আর্দ্রতা এবং তাপমাত্রার ডেটা।

প্রস্তাবিত: