विषयसूची:

रास्पबेरी पाई जीरो डब्ल्यू डाटालॉगर: 8 कदम (चित्रों के साथ)
रास्पबेरी पाई जीरो डब्ल्यू डाटालॉगर: 8 कदम (चित्रों के साथ)

वीडियो: रास्पबेरी पाई जीरो डब्ल्यू डाटालॉगर: 8 कदम (चित्रों के साथ)

वीडियो: रास्पबेरी पाई जीरो डब्ल्यू डाटालॉगर: 8 कदम (चित्रों के साथ)
वीडियो: How to Testing Compressor | Compressor Full Connection Detail in Hindi | Capacitor Connection 2024, जुलाई
Anonim
रास्पबेरी पाई जीरो डब्ल्यू डाटालॉगर
रास्पबेरी पाई जीरो डब्ल्यू डाटालॉगर

रास्पबेरी पाई ज़ीरो डब्ल्यू का उपयोग करके, आप एक सस्ता और उपयोग में आसान डेटालॉगर बना सकते हैं, जिसे या तो स्थानीय वाईफाई नेटवर्क से जोड़ा जा सकता है, या उस क्षेत्र में एक एक्सेस पॉइंट के रूप में काम कर सकता है जो आपको अपने स्मार्टफोन के साथ वायरलेस तरीके से डेटा डाउनलोड करने की अनुमति देता है।

मैंने इस सेटअप को अमेरिकन जियोफिजिकल यूनियन फॉल मीटिंग 2017 में अपना डेटा लॉगर सेटअप बनाने के तरीके के रूप में प्रस्तुत किया। आप उस प्रस्तुति को यहां पा सकते हैं।

तुम क्या आवश्यकता होगी:

  • एक रास्पबेरी पाई जीरो डब्ल्यू
  • एक माइक्रो एसडी कार्ड
  • एक यूएसबी केबल या यूएसबी बिजली की आपूर्ति
  • USB कार्ड रीडर वाला कंप्यूटर
  • वैकल्पिक (लेकिन उपयोगी):

    • मिनीएचडीएमआई -> एचडीएमआई एडेप्टर (पीआई को स्क्रीन से जोड़ने के लिए)
    • USB OTG अडैप्टर (कीबोर्ड को Pi. से कनेक्ट करने के लिए)

चरण 1: पाई ज़ीरो W. सेट करें

आरंभ करने के लिए, एक माइक्रोएसडी कार्ड पर एक रसियन छवि डालें (इस ट्यूटोरियल में मैंने 2017-07-05-रास्पियन-जेसी-लाइट का उपयोग किया, जो यहां उपलब्ध है)। एक लाइट संस्करण का उपयोग किया जा सकता है (डेस्कटॉप के बिना) क्योंकि सेट अप कमांड लाइन के माध्यम से किया जाएगा।

एसडी कार्ड को पीआई में डालें, स्क्रीन और कीबोर्ड को कनेक्ट करें, और पावर केबल में प्लग करके इसे पावर करें। हेडलेस सेटअप भी संभव है, लेकिन इसके लिए SSH से कनेक्ट करने की आवश्यकता होगी।

पीआई ने लॉगिन (डिफ़ॉल्ट उपयोगकर्ता नाम: पीआई, पासवर्ड: रास्पबेरी) को बूट करने के बाद, और "पासवार्ड" कमांड के साथ पासवर्ड बदलें।

कीबोर्ड को टर्मिनल में "sudo raspi-config" दर्ज करके कॉन्फ़िगर किया जा सकता है।

चरण 2: वाईफाई से कनेक्ट करें

वाईफाई से कनेक्ट करें
वाईफाई से कनेक्ट करें
वाईफाई से कनेक्ट करें
वाईफाई से कनेक्ट करें
वाईफाई से कनेक्ट करें
वाईफाई से कनेक्ट करें
वाईफाई से कनेक्ट करें
वाईफाई से कनेक्ट करें

इंटरनेट से कनेक्ट करने के लिए, हम Pi को बताएंगे कि किस नेटवर्क से कनेक्ट होना है। निम्न फ़ाइल खोलकर प्रारंभ करें;

सुडो नैनो /etc/wpa_supplicant/wpa_supplicant.conf

यहां, नीचे नेटवर्क की जानकारी जोड़ें;

नेटवर्क = {

ssid = "नेटवर्क का नाम" psk = "नेटवर्क पासवर्ड" }

एंटरप्राइज़ नेटवर्क के मामले में, आप निम्न सेटअप का उपयोग कर सकते हैं (WPA-EAP // TTLA // MSCHAPv2 को लागू सेटिंग्स में समायोजित करें)।

नेटवर्क = {

ssid="ssid" # अपना नेटवर्क नाम दर्ज करें key_mgmt=WPA-EAP eap=TTLS पहचान = "xxxxx" # अपना लॉगिन खाता पासवर्ड दर्ज करें = "xxxxx" # पासवर्क चरण 2 दर्ज करें = "auth = MSCHAPv2" }

CTRL+O दबाकर सहेजें, और CTRL+X के साथ बाहर निकलें।

अब अपनी कॉन्फ़िगरेशन फ़ाइल को /etc/network/interfaces में देखें

सुडो नैनो / आदि / नेटवर्क / इंटरफेस

Wlan0 भाग को इसमें बदलें:

ऑटो wlan0

iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

फिर से, फ़ाइल को सहेजें (CTRL+O) और फिर बाहर निकलें (CTRL+X)।

रिबूट करने के बाद (सुडो रीबूट), आपका वाईफाई कनेक्शन काम करना चाहिए। आप किसी वेबसाइट को पिंग करके इसका परीक्षण कर सकते हैं;

पिंग www.google.com

CTRL+C. के साथ पिंग रद्द करें

वायरलेस रूप से SSH पर Pi से कनेक्ट करने के लिए, आपको SSH को सक्षम करना चाहिए:

सुडो रास्पि-कॉन्फ़िगरेशन

"5 इंटरफेसिंग विकल्प" पर नेविगेट करें, और एसएसएच सक्षम करें। फिर वापस जाएं और कॉन्फ़िगरेशन से बाहर निकलें।

पाई का आईपी पता देखें:

ifconfig

IP wlan0 इंटरफ़ेस के "inet addr:" के अंतर्गत होगा।

अब आप वाईफाई पर पाई से कनेक्ट कर सकते हैं, अगर आप एक ही नेटवर्क पर हैं। पुट्टी डाउनलोड करें (विंडोज़ के लिए), "होस्ट नाम" के तहत मिले आईपी पते को दर्ज करें, और "ओपन" दबाएं। चेतावनी स्वीकार करने के बाद अब आपको कमांड लाइन देखने और लॉगिन करने में सक्षम होना चाहिए।

चरण 3: आवश्यक सॉफ़्टवेयर को अपडेट और इंस्टॉल करें

आवश्यक सॉफ़्टवेयर अपडेट और इंस्टॉल करें
आवश्यक सॉफ़्टवेयर अपडेट और इंस्टॉल करें
आवश्यक सॉफ़्टवेयर अपडेट और इंस्टॉल करें
आवश्यक सॉफ़्टवेयर अपडेट और इंस्टॉल करें

वाईफाई के काम करने के बाद, पाई को इसके साथ अपडेट करें:

sudo apt-get update -y && sudo apt-get upgrade -y

अद्यतन समाप्त होने के बाद (इसमें कुछ समय लग सकता है), उस सॉफ़्टवेयर को स्थापित करें जिसका हम उपयोग करेंगे;

sudo apt-python3 python3-serial apache2 -y. स्थापित करें

चरण 4: एक सेंसर से कनेक्ट करें (इस उदाहरण में एक Arduino)

या तो Arduino को USB हब का उपयोग करके कीबोर्ड से कनेक्ट करें, या Arduino को सिंगल USB पोर्ट के माध्यम से कनेक्ट करें, और वाईफाई पर SSH के साथ सेटअप करें।

Arduino से जुड़े सीरियल पोर्ट तक पहुंचने में सक्षम होने के लिए, डिफ़ॉल्ट pi खाते तक पहुंच देना उपयोगी है। जैसा कि Arduino आमतौर पर "/ dev/ttyACM0" पोर्ट को असाइन किया जाता है, 'pi' उपयोगकर्ता को पोर्ट तक पहुंच प्रदान करने के लिए निम्न कमांड का उपयोग करें:

सुडो चाउन पीआई: / देव / ttyACM0

यह मानते हुए कि सीरियल पोर्ट पर डेटा भेजने के लिए Arduino पहले से ही स्थापित किया जा चुका है, आप निम्न तरीके से पायथन में डेटा देख सकते हैं:

खुला अजगर;

अजगर3

आयात धारावाहिक:

आयात धारावाहिक

कॉम पोर्ट खोलें:

सेर = सीरियल। सीरियल (पोर्ट = '/ dev/ttyACM0', बॉड्रेट = ९६००, टाइमआउट = ५)

जहां इस मामले में Arduino का बॉड्रेट 9600 पर सेट किया गया था।

आप निम्न कोड चलाकर एक पंक्ति को पढ़ और प्रिंट कर सकते हैं:

ser.readline ()। डीकोड ('utf-8')

यदि आपके पास यह काम कर रहा है, तो आप कनेक्शन बंद कर सकते हैं और पायथन से बाहर निकल सकते हैं:

सेर.क्लोज़ ()

बाहर जाएं()

चरण 5: वाईफाई एक्सेस प्वाइंट क्षमताओं को सेट करें

अपने Pi Zero W को वाईफाई एक्सेस प्वाइंट मोड में सेट करके, आप इसे किसी भी वाईफाई डिवाइस से कनेक्ट कर सकते हैं। यह लॉगर को स्थापित करने और वाईफाई पर डेटा डाउनलोड करने की अनुमति देता है, कोई केबल या ड्राइवर की आवश्यकता नहीं है।

इसके लिए एडफ्रूट के पास एक अच्छा ट्यूटोरियल उपलब्ध है। कुछ छोटी टिप्पणियाँ:

  • /etc/hostapd/hostapd.conf ड्राइवर के लिए, ड्राइवर लाइन का उपयोग न करें का उपयोग करें।
  • "अपडेट होस्टपैड" चरण आवश्यक नहीं होना चाहिए।

यदि ट्यूटोरियल के अंत में एक्सेस प्वाइंट काम नहीं करता है, तो पाई (सुडो रीबूट) को रीबूट करने का प्रयास करें।

चरण 6: वाईफाई एक्सेस प्वाइंट और क्लाइंट मोड के बीच स्विच करना

कभी-कभी आप सॉफ़्टवेयर को अपडेट करना चाहते हैं, या अपने रास्पबेरी पाई पर नया सॉफ़्टवेयर स्थापित करना चाहते हैं, लेकिन इसके लिए इंटरनेट कनेक्शन की आवश्यकता होती है। सौभाग्य से दोनों के बीच स्विच करना बहुत आसान है।

एसएसएच के साथ पीआई से कनेक्ट करें (केबल पर, वाईफाई नहीं!)। पहुंच बिंदु सेवाओं को रोककर प्रारंभ करें:

sudo cystemctl स्टॉप hostapd.service

sudo cystemctl स्टॉप isc-dhcp-server.service

फिर नेटवर्क इंटरफेस फ़ाइल संपादित करें:

सुडो नैनो / आदि / नेटवर्क / इंटरफेस

यहां आपको होस्टिंग मापदंडों पर टिप्पणी करनी चाहिए, और नेटवर्क कनेक्शन मापदंडों पर टिप्पणी नहीं करनी चाहिए। इसे इससे बदलें:

#-होस्टिंग पैरामीटर:

अनुमति-हॉटप्लग wlan0 iface wlan0 inet स्थिर पता 192.168.42.1 नेटमास्क 255.255.255.0 #-नेटवर्क (क्लाइंट) पैरामीटर: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

इसके लिए:

#-होस्टिंग पैरामीटर:#allow-hotplug wlan0 #iface wlan0 inet static # पता 192.168.42.1 # netmask 255.255.255.0 #-नेटवर्क (क्लाइंट) पैरामीटर: ऑटो wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

फ़ाइल को सहेजें और बंद करें।

आगे आप निम्न आदेश चलाएँ:

sudo systemctl wpa_supplicant.service शुरू करें

sudo ifdown wlan0 sudo ifup wlan0

अब आपका पाई फिर से वाईफाई से कनेक्ट होना चाहिए, जिससे आप सॉफ्टवेयर को अपडेट और इंस्टॉल कर सकते हैं।

एक्सेस प्वाइंट मोड पर वापस जाने के लिए, टिप्पणियों के आसपास / etc / नेटवर्क / इंटरफेस में स्विच करें, और पाई को रिबूट करें।

चरण 7: अंतिम टिप्पणी

अंतिम टिप्पणी
अंतिम टिप्पणी

वेबसाइट सेटअप

अपाचे सर्वर/var/www/में स्थित है। डिफ़ॉल्ट पृष्ठ बदलने के लिए, /var/www/html/index.html फ़ाइल संपादित करें।

आप अपने ब्राउज़र को पाई के आईपी पते (192.168.42.1) पर नेविगेट करके, वाईफाई कनेक्शन पर डाउनलोड करने के लिए यहां फाइलें उपलब्ध करा सकते हैं। कोई भी वाईफाई सक्षम डिवाइस बिना किसी अतिरिक्त सॉफ्टवेयर के उन्हें डाउनलोड कर सकता है।

एसएफ़टीपी कनेक्शन

SSH के ऊपर, एक FTP कनेक्शन बनाया जा सकता है। आप बड़ी मात्रा में फ़ाइलों को तेज़ी से और आसानी से स्थानांतरित करने के लिए Filezilla का उपयोग कर सकते हैं (चित्र देखें)।

वास्तविक समय घड़ी

चूंकि इंटरनेट से कोई कनेक्शन नहीं होने पर पाई की आंतरिक घड़ी में काफी बदलाव आएगा, सटीक टाइमकीपिंग की आवश्यकता होने पर वास्तविक समय घड़ी (आरटीसी) मॉड्यूल की आवश्यकता होगी। ऐसा ही एक मॉड्यूल रासक्लॉक है, इंस्टॉलेशन निर्देश यहां पाए जा सकते हैं। अन्य i2c आधारित घड़ियाँ भी उपलब्ध हैं (अर्थात DS3231)

निष्कर्ष

अगर सब कुछ सही ढंग से चला गया, तो अब आपके पास एक काम करने वाला पाई ज़ीरो डेटालॉगर होना चाहिए! अगले चरण में एक पायथन लॉगिंग स्क्रिप्ट उदाहरण शामिल है।

चरण 8: उदाहरण पायथन लॉगिंग स्क्रिप्ट

आयात ओएस

समय से आयात सीरियल डेटाटाइम से आयात समय आयात डेटाटाइम आयात numpy एनपी सेर = सीरियल के रूप में। सीरियल (पोर्ट = 'COM4', बॉड्रेट = 57600, टाइमआउट = 5) निर्देशिका = आर '\ var / www / html / डेटा / एनीमोमीटर / WMPro1352_ ' ser.flushInput() ser.flushOutput() कोशिश करें: जबकि सही: day_timestring = datetime.strftime(datetime.now(), '%Y%m%d') file_today = निर्देशिका + day_timestring + '.dat' #पढ़ें डेटा और तुरंत समय रेखा प्राप्त करें = ser.readline ()। डिकोड ('utf-8') अब समय = datetime.strftime (datetime.now (), '% Y-% m-% d% H:% M:% S.%f') line = line.split(',') try: u = float(line[1]) सिवाय: u = np.nan try: v = float(line[2]) सिवाय: v = np.नान कोशिश करें: w = फ्लोट (लाइन [3]) को छोड़कर: w = np.nan कोशिश करें: c = फ्लोट (लाइन [5]) को छोड़कर: c = np.nan Ts = 1/403 * c ** 2 - 273.15 कोशिश करें: टा = फ्लोट (लाइन [8]) को छोड़कर: टा = np.nan अगर (os.path.isfile (file_today)): ओपन के साथ (file_today, 'a') fileobject के रूप में: fileobject.write(nowtime+', ') fileobject.write(str(u)+', '+str(v)+', '+str(w)+', '+str(c)+', '+str(Ts)+', '+ str(Ta)+'\n') fileobject.close e() और: open(file_today, 'w') के साथ fileobject: fileobject.write('"Time", "u", "v", "w", "c", "Ts", "Ta"\ n') fileobject.write(nowtime+', ') fileobject.write(str(u)+', '+str(v)+', '+str(w)+', '+str(c)+', '+str(Ts)+', '+str(Ta)+'\n') fileobject.close() कीबोर्डइंटरप्ट को छोड़कर: ser.close()

सिफारिश की: