Სარჩევი:
- ნაბიჯი 1: დააყენეთ Pi Zero W
- ნაბიჯი 2: დაუკავშირდით WiFi- ს
- ნაბიჯი 3: განაახლეთ და დააინსტალირეთ საჭირო პროგრამული უზრუნველყოფა
- ნაბიჯი 4: დაუკავშირდით სენსორს (ამ მაგალითში Arduino)
- ნაბიჯი 5: შექმენით WiFi წვდომის წერტილის შესაძლებლობები
- ნაბიჯი 6: გადართვა Wifi წვდომის წერტილსა და კლიენტის რეჟიმებს შორის
- ნაბიჯი 7: საბოლოო შენიშვნები
- ნაბიჯი 8: მაგალითი Python Logging Script
ვიდეო: Raspberry Pi Zero W Datalogger: 8 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
Raspberry Pi Zero W– ის საშუალებით შეგიძლიათ გააკეთოთ იაფი და ადვილად გამოსაყენებელი მონაცემთა დამთვალიერებელი, რომელიც შეიძლება იყოს დაკავშირებული ადგილობრივ wifi ქსელთან, ან იყოს ამ სფეროში წვდომის წერტილი, რომელიც საშუალებას გაძლევთ უსადენოდ გადმოწეროთ მონაცემები თქვენი სმარტფონით.
მე ეს კონფიგურაცია წარმოვადგინე ამერიკის გეოფიზიკური კავშირის საშემოდგომო შეხვედრაზე 2017 წელს, როგორც საკუთარი მონაცემების ჩამწერი კონფიგურაციის საშუალება. თქვენ შეგიძლიათ იპოვოთ ეს პრეზენტაცია აქ.
რაც დაგჭირდებათ:
- ჟოლო Pi Zero W
- მიკრო SD ბარათი
- USB კაბელი ან USB კვების წყარო
- კომპიუტერი USB ბარათის წამკითხველით
-
არჩევითი (მაგრამ სასარგებლო):
- miniHDMI -> HDMI ადაპტერი (Pi- ს ეკრანთან დასაკავშირებლად)
- USB OTG ადაპტერი (კლავიატურის დასაკავშირებლად Pi
ნაბიჯი 1: დააყენეთ Pi Zero W
დასაწყებად, განათავსეთ რასბიური სურათი microSD ბარათზე (ამ გაკვეთილში მე გამოვიყენე 2017-07-05-raspbian-jessie-lite, აქ ხელმისაწვდომი). Lite ვერსიის გამოყენება შესაძლებელია (დესკტოპის გარეშე), რადგან დაყენება მოხდება ბრძანების ხაზის საშუალებით.
ჩადეთ SD ბარათი Pi- ში, შეაერთეთ ეკრანი და კლავიატურა და ჩართეთ იგი კვების კაბელის ჩართვით. თავსაბურავის დაყენება ასევე შესაძლებელია, მაგრამ საჭიროებს SSH- ზე დაკავშირებას.
მას შემდეგ, რაც Pi ჩატვირთავს ლოგინს (მომხმარებლის მომხმარებლის სახელი: pi, პაროლი: ჟოლო) და შეცვალეთ პაროლი ბრძანებით "passwd".
კლავიატურის კონფიგურაცია შესაძლებელია ტერმინალში "sudo raspi-config" შეყვანით.
ნაბიჯი 2: დაუკავშირდით WiFi- ს
ინტერნეტთან დასაკავშირებლად, ჩვენ ვეტყვით Pi- ს, რომელ ქსელს უნდა დაუკავშირდეს. დაიწყეთ შემდეგი ფაილის გახსნით;
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
აქ, დაამატეთ ქსელის ინფორმაცია ბოლოში;
ქსელი = {
ssid = "ქსელის სახელი" psk = "ქსელის პაროლი"}
საწარმოს ქსელის შემთხვევაში, შეგიძლიათ გამოიყენოთ შემდეგი კონფიგურაცია (შეცვალეთ WPA-EAP // TTLA // MSCHAPv2 მოქმედ პარამეტრებზე).
ქსელი = {
ssid = "ssid" #შეიყვანეთ თქვენი ქსელის სახელი key_mgmt = WPA-EAP eap = TTLS Identity = "xxxxx" #შეიყვანეთ თქვენი ანგარიშის პაროლი = "xxxxx" #შეიყვანეთ საგუშაგო ეტაპი 2 = "auth = MSCHAPv2"}
შეინახეთ CTRL+O დაჭერით და გამოდით CTRL+X– ით.
ახლა მიუთითეთ თქვენი კონფიგურაციის ფაილი/etc/network/interfaces
sudo nano/etc/network/interfaces
შეცვალეთ wlan0 ნაწილი:
ავტო wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
კვლავ შეინახეთ ფაილი (CTRL+O) და შემდეგ გამოდით (CTRL+X).
გადატვირთვის შემდეგ (sudo გადატვირთვა), თქვენი wifi კავშირი უნდა იმუშაოს. ამის შემოწმება შეგიძლიათ ვებგვერდის პინგზე;
ping www.google.com
გააუქმეთ პინგი CTRL+C- ით
Pi– ზე SSH– ზე უსადენოდ დასაკავშირებლად, თქვენ უნდა ჩართოთ SSH:
sudo raspi-config
გადადით "ინტერფეისის 5 ვარიანტზე" და ჩართეთ SSH. შემდეგ დაბრუნდით და გამოდით კონფიგურაციიდან.
მოძებნეთ Pi მისამართის IP მისამართი:
ifconfig
IP იქნება wlan0 ინტერფეისის "inet addr:".
ახლა თქვენ შეგიძლიათ დაუკავშირდეთ Pi– ს WiFi– ზე, თუ ერთსა და იმავე ქსელში ხართ. ჩამოტვირთეთ Putty (ფანჯრებისთვის), შეიყვანეთ IP მისამართი, რომელიც იპოვეთ "მასპინძლის სახელი" და დააჭირეთ "გახსნას". გაფრთხილების მიღების შემდეგ თქვენ ახლა უნდა გქონდეთ ბრძანების ხაზის ნახვა და შესვლა.
ნაბიჯი 3: განაახლეთ და დააინსტალირეთ საჭირო პროგრამული უზრუნველყოფა
WiFi– ის მუშაობის შემდეგ განაახლეთ Pi შემდეგით:
sudo apt -get განახლება -y && sudo apt -get განახლება -y
განახლების დასრულების შემდეგ (შეიძლება გარკვეული დრო დასჭირდეს), დააინსტალირეთ პროგრამული უზრუნველყოფა, რომელსაც ჩვენ ვიყენებთ;
sudo apt-get დააინსტალირეთ python3 python3-serial apache2 -y
ნაბიჯი 4: დაუკავშირდით სენსორს (ამ მაგალითში Arduino)
ან დაუკავშირეთ Arduino კლავიატურას USB ჰაბის საშუალებით, ან დაუკავშირეთ Arduino ერთი USB პორტის საშუალებით და გააკეთეთ დაყენება SSH– ით WiFi– ით.
სერიულ პორტზე შესასვლელად, რომელთანაც Arduino არის დაკავშირებული, სასარგებლოა წვდომა ნაგულისხმევი პი ანგარიშზე. როგორც წესი, Arduino ენიჭება პორტს "/dev/ttyACM0", გამოიყენეთ შემდეგი ბრძანება, რათა "pi" მომხმარებელს ჰქონდეს პორტზე წვდომა:
sudo chown pi: /dev /ttyACM0
დავუშვათ, რომ Arduino უკვე შეიქმნა სერიული პორტის მონაცემების გასაგზავნად, თქვენ შეგიძლიათ ნახოთ მონაცემები პითონში შემდეგნაირად:
ღია პითონი;
პითონი 3
სერიის იმპორტი:
სერიული იმპორტი
გახსენით com პორტი:
ser = სერიული. სერიული (პორტი = '/dev/ttyACM0', ბაუდრატი = 9600, ვადა = 5)
სადაც არდუინოს ბაუდრატი ამ შემთხვევაში იყო 9600.
თქვენ შეგიძლიათ წაიკითხოთ და დაბეჭდოთ ხაზი შემდეგი კოდის გაშვებით:
ser.readline (). დეკოდირება ('utf-8')
თუ ის მუშაობს, შეგიძლიათ დახუროთ კავშირი და გამოხვიდეთ პითონიდან შემდეგით:
ser. დახურვა ()
გასვლა ()
ნაბიჯი 5: შექმენით WiFi წვდომის წერტილის შესაძლებლობები
თქვენი Pi Zero W wifi წვდომის წერტილის რეჟიმში დაყენებით, შეგიძლიათ დაუკავშირდეთ მას ნებისმიერი wifi მოწყობილობით. ეს საშუალებას გაძლევთ შექმნათ ჟურნალი და გადმოწეროთ მონაცემები wifi– ზე, არ არის საჭირო კაბელები და დრაივერები.
ამისათვის Adafruit– ს აქვს კარგი სამეურვეო პროგრამა. რამდენიმე მცირე შენიშვნა:
- /Etc/hostapd/hostapd.conf დრაივერისთვის გამოიყენეთ არ გამოიყენოთ დრაივერის ხაზი.
- ნაბიჯი "განახლება hostapd" არ უნდა იყოს საჭირო.
თუ გაკვეთილის ბოლოს წვდომის წერტილი არ მუშაობს, სცადეთ გადატვირთოთ Pi (sudo გადატვირთვა).
ნაბიჯი 6: გადართვა Wifi წვდომის წერტილსა და კლიენტის რეჟიმებს შორის
ზოგჯერ მოგინდებათ პროგრამული უზრუნველყოფის განახლება ან ახალი პროგრამული უზრუნველყოფის დაყენება თქვენს Raspberry Pi– ზე, მაგრამ ეს მოითხოვს ინტერნეტ კავშირს. საბედნიეროდ, ამ ორს შორის გადართვა ძალიან ადვილია.
დაუკავშირდით Pi– ს SSH– ით (კაბელის საშუალებით, არა wifi!). დაიწყეთ წვდომის წერტილის სერვისების შეჩერებით:
sudo cystemctl stop hostapd.service
sudo cystemctl stop isc-dhcp-server.service
შემდეგ შეცვალეთ ქსელის ინტერფეისების ფაილი:
sudo nano/etc/network/interfaces
აქ თქვენ უნდა გააკეთოთ კომენტარი ჰოსტინგის პარამეტრებზე და არ გააკეთოთ კომენტარი ქსელის კავშირის პარამეტრებზე. შეცვალეთ აქედან:
#-მასპინძლობის პარამეტრები:
allow-hotplug wlan0 iface wlan0 inet static address 192.168.42.1 netmask 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 #-ბადის (კლიენტის) პარამეტრები: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.con
შეინახეთ და დახურეთ ფაილი.
შემდეგი თქვენ აწარმოებთ შემდეგ ბრძანებებს:
sudo systemctl დაწყება wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
ახლა თქვენი Pi კვლავ უნდა დაუკავშირდეს wifi– ს, რაც საშუალებას მოგცემთ განაახლოთ და დააინსტალიროთ პროგრამული უზრუნველყოფა.
წვდომის წერტილის რეჟიმში დასაბრუნებლად გადაუხვიეთ კომენტარებს/etc/network/interfaces და გადატვირთეთ Pi.
ნაბიჯი 7: საბოლოო შენიშვნები
ვებსაიტის დაყენება
Apache სერვერი მდებარეობს/var/www/. ნაგულისხმევი გვერდის შესაცვლელად, შეცვალეთ /var/www/html/index.html ფაილი.
თქვენ შეგიძლიათ აქ ფაილები ჩამოტვირთოთ wifi კავშირის საშუალებით, ბრაუზერში ნავიგაციით Pi– ს IP მისამართზე (192.168.42.1). ნებისმიერ wifi მოწყობილობას შეუძლია ჩამოტვირთოს ისინი დამატებითი პროგრამული უზრუნველყოფის გარეშე.
SFTP კავშირი
SSH– ით შესაძლებელია FTP კავშირის დამყარება. თქვენ შეგიძლიათ გამოიყენოთ Filezilla, რათა სწრაფად და მარტივად გადაიტანოთ დიდი რაოდენობით ფაილი (იხ. სურათი).
რეალურ დროში საათი
ვინაიდან Pi– ს შიდა საათი მნიშვნელოვნად დაიძვრება, თუკი ინტერნეტთან კავშირი არ არის, საჭირო იქნება რეალური დროის საათის (RTC) მოდული, თუ საჭიროა ზუსტი დროის აღრიცხვა. ერთ -ერთი ასეთი მოდული არის RasClock, ინსტალაციის ინსტრუქცია შეგიძლიათ იხილოთ აქ. ასევე ხელმისაწვდომია სხვა i2c დაფუძნებული საათები (მაგ. DS3231)
დასკვნა
თუ ყველაფერი სწორად წარიმართა, თქვენ უნდა გქონდეთ სამუშაო Pi Zero მონაცემთა დამდგენი! პითონის ჟურნალის სკრიპტის მაგალითი შედის შემდეგ ეტაპზე.
ნაბიჯი 8: მაგალითი Python Logging Script
იმპორტი os
იმპორტი სერიული დროიდან იმპორტი დრო datetime იმპორტი datetime იმპორტი numpy როგორც np ser = სერიული. სერიული (პორტი = 'COM4', baudrate = 57600, დრო = 5) დირექტორია = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser.flushInput () ser.flushOutput () try: while True: day_timestring = datetime.strftime (datetime.now (),'%Y%m%d ') file_today = დირექტორია + day_timestring +'.dat ' #წაკითხვა მონაცემები და დაუყოვნებლივ მიიღეთ დროის ხაზი = ser.readline (). დეკოდირება ('utf-8') nowtime = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') ხაზი = ხაზი. გაყოფა (', ') სცადეთ: u = float (ხაზი [1]) გარდა: u = np.nan სცადეთ: v = float (ხაზი [2]) გარდა: v = np.nan ცადეთ: w = float (ხაზი [3]) გარდა: w = np.nan ცადეთ: c = float (ხაზი [5]) გარდა: c = np.nan Ts = 1/403*c ** 2 - 273.15 სცადეთ: Ta = float (ხაზი [8]) გარდა: Ta = np.nan if (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.clos e () else: ღია (file_today, 'w') როგორც fileobject: fileobject.write ('"დრო", "u", "v", "w", "c", "Ts", "Ta" / n ') fileobject.write (ახლა ++,') fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+', '+str (Ts)+', '+str (Ta)+' / n ') fileobject.close () კლავიატურის გარდა შეფერხება: ser.close ()
გირჩევთ:
ხის LED სათამაშო ჩვენება Powered by Raspberry Pi Zero: 11 ნაბიჯი (სურათებით)
ხის LED სათამაშო ჩვენება Powered by Raspberry Pi Zero: ეს პროექტი აცნობიერებს 20x10 პიქსელიანი WS2812 დაფუძნებულ LED ეკრანს 78x35 სმ ზომის, რომელიც ადვილად შეიძლება დამონტაჟდეს მისაღებ ოთახში რეტრო თამაშების სათამაშოდ. ამ მატრიცის პირველი ვერსია აშენდა 2016 წელს და აღადგინეს ბევრმა ადამიანმა. ეს გამოცდილი
DIY Raspberry Pi Zero Handheld Game Console: 6 ნაბიჯი (სურათებით)
DIY Raspberry Pi Zero Handheld Game Console: ამ პროექტში მე გაჩვენებთ თუ როგორ გამოვიყენე Raspberry Pi Zero, NiMH ბატარეები, ხელნაკეთი ზედმეტი დაცლის დაცვის წრე, უკანა ხედვის LCD და აუდიო გამაძლიერებელი ხელის სათამაშო კონსოლის შესაქმნელად, რომელსაც შეუძლია თამაში რეტრო თამაშები. Დავიწყოთ
Alaska Datalogger: 5 ნაბიჯი (სურათებით)
Alaska Datalogger: ალასკა კლიმატის ცვლილების წინსვლის პირასაა. მისი უნიკალური პოზიცია, რომელსაც აქვს საკმაოდ ხელუხლებელი ლანდშაფტი, რომელიც დასახლებულია ქვანახშირის ნაღმების სხვადასხვა კანარით, მრავალ კვლევის შესაძლებლობას იძლევა. ჩვენი მეგობარი მონტი არის არქეოლოგი, რომელიც ეხმარება
Arduino Datalogger: 8 ნაბიჯი (სურათებით)
Arduino Datalogger: ამ სახელმძღვანელოში, ჩვენ ვაპირებთ გავაკეთოთ მარტივი მონაცემთა ჩამწერი Arduino– ს გამოყენებით. საქმე იმაშია, რომ ვისწავლოთ Arduino– ს გამოყენების საფუძვლები ინფორმაციის მოსაპოვებლად და ტერმინალში დასაბეჭდად. ჩვენ შეგვიძლია გამოვიყენოთ ეს ძირითადი კონფიგურაცია რიგი ამოცანების შესასრულებლად. დასაწყებად
Raspberry Pi Zero Wifi წვდომის წერტილი პერსონალური PCB ანტენით: 6 ნაბიჯი (სურათებით)
Raspberry Pi Zero Wifi Access Point Custom PCB Antenna: რას ვაკეთებთ ჩვენ? მოდით დავშალოთ. რა არის Raspberry Pi Zero (Rπ0)? Raspberry Pi Zero არის პატარა კომპიუტერი. ეს არის Raspberry Pi ერთჯერადი დაფის კომპიუტერის უფრო პატარა ვერსია