فهرست مطالب:
- مرحله 1: تنظیم Pi Zero W
- مرحله 2: به WiFi متصل شوید
- مرحله 3: نرم افزار مورد نیاز را به روز کرده و نصب کنید
- مرحله 4: اتصال به سنسور (در این مثال آردوینو)
- مرحله 5: قابلیت های WiFi Access Point را تنظیم کنید
- مرحله 6: جابجایی بین Wifi Access Point و حالت های Client
- مرحله 7: نکات نهایی
- مرحله 8: مثال اسکریپت ورود به سیستم پایتون
تصویری: Raspberry Pi Zero W Datalogger: 8 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
با استفاده از Raspberry Pi Zero W می توانید یک دیتاگرام ارزان قیمت و آسان برای استفاده تهیه کنید که می تواند به شبکه وای فای محلی متصل باشد یا به عنوان نقطه دسترسی در این زمینه عمل می کند که به شما امکان می دهد داده ها را به صورت بی سیم با تلفن هوشمند خود بارگیری کنید.
من این راه اندازی را در جلسه پاییز اتحادیه ژئوفیزیک آمریکا در 2017 ارائه دادم ، به عنوان راهی برای تنظیم داده های ثبت کننده خود. می توانید آن ارائه را در اینجا پیدا کنید.
آنچه شما نیاز دارید:
- Raspberry Pi Zero W
- کارت micro SD
- کابل USB یا منبع تغذیه USB
- رایانه ای با کارت خوان USB
-
اختیاری (اما مفید):
- miniHDMI -> آداپتور HDMI (برای اتصال Pi به صفحه نمایش)
- آداپتور USB OTG (برای اتصال صفحه کلید به Pi
مرحله 1: تنظیم Pi Zero W
برای شروع ، یک تصویر Rasbian را روی کارت 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 = "author = MSCHAPv2"}
با فشار دادن CTRL+O ذخیره کنید و با CTRL+X خارج شوید.
اکنون فایل پیکربندی خود را در/etc/network/interfaces ارجاع دهید
sudo nano/etc/network/interfaces
قسمت wlan0 را به این قسمت تغییر دهید:
auto wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
مجدداً فایل (CTRL+O) را ذخیره کرده و سپس (CTRL+X) خارج شوید.
پس از راه اندازی مجدد (sudo reboot) ، اتصال wifi شما باید کار کند. می توانید این کار را با پینگ یک وب سایت آزمایش کنید.
ping www.google.com
لغو پینگ با CTRL+C
برای اتصال بی سیم به Pi از طریق SSH ، باید SSH را فعال کنید:
sudo raspi-config
به "5 گزینه رابط" بروید و SSH را فعال کنید. سپس به عقب برگردید و از تنظیمات خارج شوید.
آدرس IP Pi را جستجو کنید:
ifconfig
IP تحت "inet addr:" رابط wlan0 قرار خواهد گرفت.
اکنون اگر از یک شبکه هستید ، می توانید از طریق WiFi به Pi متصل شوید. Putty را بارگیری کنید (برای ویندوز) ، آدرس IP را که در "نام میزبان" پیدا کرده اید وارد کرده و "باز" را فشار دهید. پس از پذیرش هشدار ، اکنون باید بتوانید خط فرمان را مشاهده کرده و وارد شوید.
مرحله 3: نرم افزار مورد نیاز را به روز کرده و نصب کنید
پس از کار WiFi ، Pi را با موارد زیر به روز کنید:
sudo apt -get update -y && sudo apt -get upgrade -y
پس از اتمام به روزرسانی (ممکن است کمی طول بکشد) ، نرم افزاری را که از آن استفاده می کنیم نصب کنید.
sudo apt-get python3 python3-serial apache2 -y را نصب کنید
مرحله 4: اتصال به سنسور (در این مثال آردوینو)
یا آردوینو را با یک صفحه کلید با استفاده از یک هاب USB متصل کنید ، یا آردوینو را از طریق یک پورت USB متصل کنید ، و راه اندازی را با SSH از طریق WiFi انجام دهید.
برای دسترسی به پورت سریال که آردوینو به آن متصل است ، دسترسی به حساب پیش فرض pi مفید است. همانطور که آردوینو معمولاً به پورت "/dev/ttyACM0" اختصاص داده می شود ، از دستور زیر برای دسترسی کاربر "pi" به پورت استفاده کنید:
sudo chown pi: /dev /ttyACM0
با فرض اینکه Arduino قبلاً برای ارسال داده از طریق پورت سریال تنظیم شده است ، می توانید داده ها را در پایتون به روش زیر مشاهده کنید:
باز کردن پایتون ؛
پایتون 3
وارد کردن سریال:
سریال واردات
پورت com را باز کنید:
ser = serial. سریال (port = '/dev/ttyACM0'،
باودرات = 9600 ، زمان پایان = 5)
در این حالت باودرات آردوینو روی 9600 تنظیم شده است.
با اجرای کد زیر می توانید خطی را بخوانید و چاپ کنید:
ser.readline (). رمزگشایی ('utf-8')
اگر کار می کنید ، می توانید اتصال را ببندید و از پایتون خارج شوید:
ser.close ()
خروج ()
مرحله 5: قابلیت های WiFi Access Point را تنظیم کنید
با تنظیم Pi Zero W خود در حالت نقطه دسترسی wifi ، می توانید با هر دستگاه wifi به آن متصل شوید. این امکان را فراهم می کند که ثبت کننده را بارگیری کرده و داده ها را از طریق wifi بارگیری کنید ، نیازی به کابل یا درایور نیست.
برای این ، Adafruit یک آموزش خوب در دسترس دارد. چند نکته کوچک:
- برای درایور /etc/hostapd/hostapd.conf ، از خط راننده استفاده نکنید.
- مرحله "Update hostapd" نباید ضروری باشد.
اگر نقطه دسترسی در پایان آموزش کار نمی کند ، سعی کنید Pi را راه اندازی مجدد کنید (sudo reboot).
مرحله 6: جابجایی بین Wifi Access Point و حالت های Client
گاهی اوقات می خواهید نرم افزار را به روز کنید یا نرم افزار جدیدی را بر روی رزبری پای خود نصب کنید ، اما این امر نیاز به اتصال به اینترنت دارد. خوشبختانه تعویض بین این دو بسیار آسان است.
با SSH به Pi متصل شوید (از طریق کابل ، نه وای فای!). با توقف خدمات نقطه دسترسی شروع کنید:
sudo cystemctl stop hostapd.service
sudo cystemctl stop isc-dhcp-server.service
سپس فایل رابط شبکه را ویرایش کنید:
sudo nano/etc/network/interfaces
در اینجا شما باید پارامترهای میزبانی را کامنت کنید و پارامترهای اتصال شبکه را کامنت نکنید. آن را از اینجا تغییر دهید:
#-پارامترهای میزبانی:
allow-hotplug wlan0 iface wlan0 inet address static 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 #address 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: نکات نهایی
راه اندازی وب سایت
سرور آپاچی در/var/www/قرار دارد. برای تغییر صفحه پیش فرض ، فایل /var/www/html/index.html را ویرایش کنید.
با مرورگر خود به آدرس IP Pi (192.168.42.1) ، می توانید فایل ها را در اینجا برای بارگیری از طریق اتصال wifi در دسترس قرار دهید. هر دستگاه مجهز به wifi می تواند آنها را بدون نرم افزار اضافی بارگیری کند.
اتصال SFTP
از طریق SSH ، می توان اتصال FTP ایجاد کرد. می توانید از Filezilla برای انتقال سریع و آسان حجم زیادی از فایل ها استفاده کنید (تصویر را ببینید).
ساعت واقعی
در صورت عدم اتصال به اینترنت ، ساعت داخلی Pi به طور قابل توجهی حرکت می کند ، در صورت نیاز به زمانبندی دقیق ، ماژول ساعت واقعی (RTC) مورد نیاز است. یکی از این ماژول ها RasClock است ، دستورالعمل های نصب را می توانید در اینجا پیدا کنید. سایر ساعتهای مبتنی بر i2c نیز موجود است (یعنی DS3231)
نتیجه
اگر همه چیز به درستی پیش رفت ، اکنون باید یک دیتاگرامر Pi Zero در حال کار داشته باشید! یک مثال اسکریپت ورود به سیستم پایتون در مرحله بعدی گنجانده شده است.
مرحله 8: مثال اسکریپت ورود به سیستم پایتون
وارد کردن سیستم عامل
وارد کردن سریال از زمان زمان وارد کردن از زمان وارد کردن datetime وارد کردن datpime numpy به عنوان np ser = سریال. سریال (port = 'COM4'، baudrate = 57600، timeout = 5) directory = 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 = directory + day_timestring +'.dat '#Read out داده و بلافاصله خط زمان = ser.readline (). رمزگشایی ('utf-8') nowtime = datetime.strftime (datetime.now () ، '٪ Y-٪ m-٪ d٪ H:٪ M:٪ S.٪ f ') line = line.split ('، ') try: 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 try: Ta = float (خط [8]) به جز: Ta = np.nan if (os.path.isfile (file_today)): با open (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 (nowtime+'، ') fileobject.write (str (u)+'، '+str (v)+'، '+str (w)+'، '+str (c)+'، '+str (Ts)+' ، '+str (Ta)+' / n ') fileobject.close () به جز KeyboardIntruptrupt: ser.close ()
توصیه شده:
شمارنده مشترک YouTube با استفاده از صفحه نمایش کاغذ الکترونیکی و Raspberry Pi Zero W: 5 مرحله (همراه با تصاویر)
شمارنده مشترکان YouTube با استفاده از صفحه نمایش کاغذ الکترونیکی و Raspberry Pi Zero W: در این دستورالعمل ، به شما نشان خواهم داد که چگونه با استفاده از صفحه نمایش کاغذ الکترونیکی ، شمارنده مشترک Youtube خود و Raspberry Pi Zero W را برای پرس و جو از API YouTube ایجاد کنید. و نمایشگر را به روز کنید نمایشگرهای کاغذ الکترونیکی برای این نوع پروژه ها عالی هستند زیرا
با Raspberry Pi Zero روشنایی محیطی خود را ایجاد کنید: 5 مرحله (همراه با تصاویر)
با Raspberry Pi Zero نور محیطی خود را ایجاد کنید: در این پروژه به شما نشان خواهم داد که چگونه یک Raspberry Pi Zero را با چند قسمت مکمل ترکیب کنید تا جلوه ای از نور محیط را به تلویزیون خود اضافه کنید که تجربه مشاهده را افزایش می دهد. بیایید شروع کنیم
آلاسکا Datalogger: 5 مرحله (همراه با تصاویر)
آلاسکا Datalogger: آلاسکا در آستانه پیشرفت تغییرات آب و هوایی است. موقعیت منحصر به فرد آن از داشتن چشم انداز نسبتاً دست نخورده ای پر از انواع قناری معدن زغال سنگ ، امکان تحقیقات زیادی را فراهم می کند. دوست ما مونتی یک باستان شناس است که به وی کمک می کند
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست
آردوینو Datalogger: 8 مرحله (همراه با تصاویر)
Arduino Datalogger: در این آموزش ، ما قصد داریم یک دیتاگر ساده با استفاده از Arduino بسازیم. نکته این است که اصول اولیه استفاده از Arduino برای گرفتن اطلاعات و چاپ در ترمینال را بیاموزید. ما می توانیم از این تنظیمات اساسی برای انجام طیف وسیعی از کارها استفاده کنیم. برای شروع