جدول المحتويات:
- اللوازم
- الخطوة 1: الميزات
- الخطوة 2: الخطوة 1: تعرف على لوحة إنترنت الأشياء (A)
- الخطوة 3: Step2: كيفية تجميعها
- الخطوة 4: Step3: ربط الهوائي
- الخطوة 5: الخطوة 4: بيئة نظام التشغيل وتكوينات البرامج
- الخطوة 6: الخطوة 5: تكوين I2C (Raspberry Pi)
- الخطوة 7: الخطوة 6: تعرف على معلومات التسجيل
- الخطوة الثامنة:
- الخطوة 9: التعليمات:
- الخطوة 10: كيفية استخدام وحدة GPS مع Gpsd (Raspberry Pi)
- الخطوة 11: كيفية استخدام وحدة GPS مع C (Raspberry Pi)
- الخطوة 12: تجميعها
- الخطوة 13: كيفية استخدام وحدة GPS مع لغة Python (Raspberry Pi)
- الخطوة 14: كيفية استخدام وحدة GSM مع PPPd (Raspberry Pi)
- الخطوة 15: كيفية تشخيص وحدة GSM الخاصة بي (Raspberry Pi)
- الخطوة 16: كيفية استخدام Lora TX & RX مع C (Raspberry Pi)
- الخطوة 17: وصف خاص لعرض النطاق الترددي I2C
- الخطوة 18: انتهى
فيديو: [سلسلة Docker Pi] كيفية استخدام وحدة IoT Node (A) على Raspberry Pi: 18 خطوة
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
ما هي وحدة IoT Node (A)؟
IoT Node (A) هي إحدى وحدات سلسلة Docker Pi.
عقدة IOT (A) = GPS / BDS + GSM + Lora.
تتحكم I2C مباشرة في Lora ، وترسل وتستقبل البيانات ، وتتحكم في وحدة GSM / GPS / BDS من خلال SC16IS752 ، اللوحة الرئيسية تحتاج فقط إلى دعم I2C.
دعم Raspberry Pi والمنتجات المماثلة الأخرى.
اللوازم
1x Raspberry Pi 2B / 3B / 3B + / 4B / 3A + / Zero / Zero W
منتج سلسلة Docker Pi 1x: وحدة IoT Node (A)
1x 16 جيجا بايت فئة 10 بطاقة TF
مصدر طاقة 1x 5V / 2.5A (5V @ 3A لـ Pi 4B)
الخطوة 1: الميزات
- سلسلة Docker Pi
- قابل للبرمجة
- تحكم مباشر (بدون برمجة)
- قم بتمديد دبابيس GPIO
- دعم GPS / BDS
- دعم GSM
- دعم لورا
- يمكن تكديس مع لوحة تكديس أخرى
- مستقل عن أجهزة اللوحة الأم (تتطلب دعم I2C)
الخطوة 2: الخطوة 1: تعرف على لوحة إنترنت الأشياء (A)
IoT Node (A) هي إحدى وحدات سلسلة Docker Pi.
عقدة IOT (A) = GPS / BDS + GSM + Lora.
تتحكم I2C مباشرة في Lora ، وترسل وتستقبل البيانات ، وتتحكم في وحدة GSM / GPS / BDS من خلال SC16IS752 ، اللوحة الرئيسية تحتاج فقط إلى دعم I2C. دعم Raspberry Pi ومنتجات أخرى مماثلة.
حتى تتمكن من صنع جهاز اتصال متوسط المدى باستخدام اثنين منهم.
ويمكنك أيضًا تحديد موقع جهازك باستخدام وحدة GPS الموجودة على متن الطائرة.
أدخل بطاقة SIM ، وستصبح محطة إرسال عبر رسالة SMS.
الخطوة 3: Step2: كيفية تجميعها
من السهل جدًا تجميعها نظرًا لتصميمها "HAT" ، ما عليك سوى وضعه على raspberry Pi وتوصيله عبر دبابيس GPIO ، مثل "قبعة" على raspberry pi ، بحيث لا تضطر إلى إضافة الكتلة الأسلاك.
الخطوة 4: Step3: ربط الهوائي
هناك 3 قطع من الهوائي لوحدة IoT (A) ، أحدها لوحدة loar ، وهو نوع SMA ، وواحد منهم مناسب لك GPS ، وهو هوائي مربع الشكل به منفذ IPX. والأخير لوحدة SIM (A9G) ، وهو هوائي صغير به منفذ IPX. قم بتوصيل الهوائي وقم بتركيب القبعة على raspberry pi.
كيفية تركيب لوحة Iot Node (A) على Raspberry Pi
ربط GPS antana و Lora antana بمنفذ IPX.
- E1 : GPS-ANTANA-IPX
- E3 : LoRa-ANTANA-IPX
مسامير GPRS antana بمنفذ SMA.
الخطوة 5: الخطوة 4: بيئة نظام التشغيل وتكوينات البرامج
في هذه الخطوة ، عليك القيام بهذه الأشياء:
1. قم بتنزيل أحدث ملف صورة من: www.raspberrypi.org/downloads
2. فك الضغط.
3. فلاش بطاقة TF الخاصة بك مع أحدث صورة عبر أداة الحفر
4. عدل ملف /boot/config.txt وأضف هذه الفقرة.
dtoverlay = sc16is752-i2c
5. يستبدل /boot/overlay/sc16is752-i2c.dtbo الملف بهذا الملف:
wiki.52pi.com/index.php/ الملف: SC16is752-i2c…
ملاحظة: تذكر فك ضغطه ووضعه في مجلد / boot / overlay / واستبدال القديم.
6. أعد تشغيل Raspberry Pi.
الخطوة 6: الخطوة 5: تكوين I2C (Raspberry Pi)
قم بتشغيل sudo raspi-config واتبع المطالبات لتثبيت دعم i2c لنواة ARM و linux kernel انتقل إلى خيارات Interfacing
الخطوة 7: الخطوة 6: تعرف على معلومات التسجيل
قسم GPRS
استهلاك منخفض للطاقة ، تيار سكون الاستعداد <1mA2.
دعم GSM / GPRS أربعة نطاقات تردد ، بما في ذلك 850 ، 900 ، 1800 ، 1900 ميجا هرتز
فئة GPRS 10
دعم خدمة بيانات GPRS ، أقصى معدل للبيانات ، تنزيل 85.6 كيلو بت في الثانية ، تحميل 42.8 كيلو بت في الثانية
دعم أوامر GSM07.07 القياسية ، 07.05 AT ، والوصول إلى المنفذ التسلسلي من خلال تحويل واجهة I2C
تدعم أوامر AT منافذ أوامر AT و TCP / IP القياسية
قسم GPS دعم تحديد المواقع المشتركة BDS / GPS
دعم A-GPS ، A-BDS
دعم بطاقة SIM القياسية
قسم LORA مسافة الإرسال: 500 متر (معلمات RF: 0x50 @ China City)
دعم طرق تعديل FSK و GFSK و MSK و GMSK و LoRaTM و OOK
حساسية جهاز استقبال عالية جدًا تصل إلى -141 ديسيبل ميلي واط
دعم كشف الديباجة
محرك الحزمة مع CRC ، حتى 256 بايت
مؤشر جهاز الإرسال والاستقبال LORA
Easy TX / RX بواسطة Docker Pi
الخطوة الثامنة:
وحدة A9G
توفر وحدة A9G منفذين تسلسليين.
استخدم جسر I2C UART للتواصل.
اسم وحدة المنفذ التسلسلي
- / ديف / ttySC0 GSM
- / dev / ttySC1 GPS / BDS
تسجيل الخريطة
- تسجيل قيمة وظيفة العنوان
- 0x01 LORA_TX1 Lora TX Buffer 1 - بيانات المستخدم
- 0x02 LORA_TX2 Lora TX Buffer 2 - بيانات المستخدم
- 0x03 LORA_TX3 Lora TX Buffer 3 - بيانات المستخدم
- 0x04 LORA_TX4 Lora TX Buffer 4 - بيانات المستخدم
- 0x05 LORA_TX5 Lora TX Buffer 5 - بيانات المستخدم
- 0x06 LORA_TX6 Lora TX Buffer 6 - بيانات المستخدم
- 0x07 LORA_TX7 Lora TX Buffer 7 - بيانات المستخدم
- 0x08 LORA_TX8 Lora TX Buffer 8 - بيانات المستخدم
- 0x09 LORA_TX9 Lora TX Buffer 9 - بيانات المستخدم
- 0x0a LORA_TX10 Lora TX Buffer 10 - بيانات المستخدم
- 0x0b LORA_TX11 Lora TX Buffer 11 - بيانات المستخدم
- 0x0c LORA_TX12 Lora TX Buffer 12 - بيانات المستخدم
- 0x0d LORA_TX13 Lora TX Buffer 13 - بيانات المستخدم
- 0x0e LORA_TX14 Lora TX Buffer 14 - بيانات المستخدم
- 0x0f LORA_TX15 Lora TX Buffer 15 - بيانات المستخدم
- 0x10 LORA_TX16 Lora TX Buffer 16 - بيانات المستخدم
- 0x11 LORA_RX1 Lora RX Buffer 1 - بيانات المستخدم
- 0x12 LORA_RX2 Lora RX Buffer 2 - بيانات المستخدم
- 0x13 LORA_RX3 Lora RX Buffer 3 - بيانات المستخدم
- 0x14 LORA_RX4 Lora RX Buffer 4 - بيانات المستخدم
- 0x15 LORA_RX5 Lora RX Buffer 5 - بيانات المستخدم
- 0x16 LORA_RX6 Lora RX Buffer 6 - بيانات المستخدم
- 0x17 LORA_RX7 Lora RX Buffer 7 - بيانات المستخدم
- 0x18 LORA_RX8 Lora RX Buffer 8 - بيانات المستخدم
- 0x19 LORA_RX9 Lora RX Buffer 9 - بيانات المستخدم
- 0x1a LORA_RX10 Lora RX Buffer 10 - بيانات المستخدم
- 0x1b LORA_RX11 Lora RX Buffer 11 - بيانات المستخدم
- 0x1c LORA_RX12 Lora RX Buffer 12 - بيانات المستخدم
- 0x1d LORA_RX13 Lora RX Buffer 13 - بيانات المستخدم
- 0x1e LORA_RX14 Lora RX Buffer 14 - بيانات المستخدم
- 0x1f LORA_RX15 Lora RX Buffer 15 - بيانات المستخدم
- 0x20 LORA_RX16 Lora RX Buffer 16 - بيانات المستخدم
- 0x01 - 0x10 للكتابة فقط.
- 0x11 - 0x20 للقراءة فقط.
الخطوة 9: التعليمات:
L_SET (كتابة فقط)
- اكتب 1 لتعيين المعلمات من 0x22 إلى LORA Module.
- اكتب 0 غير مؤثر
G_RESET (كتابة فقط)
- اكتب 1 لإعادة تعيين وحدة A9G
- اكتب 0 لا يؤثر
L_RXNE (قراءة وكتابة)
- اكتب 1 سبب الخطأ
- اكتب 0 للمسح
- تعني القراءة 1 أنه تم استلام البيانات ، يرجى الحصول على البيانات من السجل 0x11 - 0x20.
- قراءة 0 تعني عدم توفر بيانات الآن.
L_SET (كتابة فقط)
- اكتب 1 لإرسال البيانات ، يرجى ملء البيانات في السجل 0x01 - 0x10 قبل الإرسال.
- اكتب 0 غير مؤثر
الخطوة 10: كيفية استخدام وحدة GPS مع Gpsd (Raspberry Pi)
كيفية استخدام وحدة GPS مع GPSd (Raspberry Pi)
أولاً ، استبدل /boot/overlays/sc16is752-i2c.dtbo وتأكد من أن I2C يعمل بشكل صحيح.
- استبدل sc16is752-i2c.dtbo
- تكوين I2C
- قم بتثبيت أدوات GPSd.
افتح Terminal واكتب هذا الأمر:
sudo apt تثبيت عملاء gpsd gpsd
قم بتعديل ملف / etc / default / gpsd وأضف المعلمات التالية:
- الأجهزة = "/ dev / ttySC1"
- GPSD_OPTIONS = "- F /var/run/gpsd.sock"
أدخل الأمر i2cset -y 1 0x16 0x23 0x40 لإعادة ضبط وحدة GPRS.
برنامج Python Script لنظام GPS المفتوح:
استيراد وقت استيراد نظام التشغيل التسلسلي # إعادة تشغيل خدمة gpsd. os.system ("sudo systemctl أعد تشغيل gpsd.socket") # فتح المنفذ التسلسلي ser = serial. Serial ('/ dev / ttySC0'، 115200) i = 0 if ser.isOpen == False: ser.open () حاول: print ("Turn on GPS…") بينما True: ser.write (str.encode ("AT + GPS = 1 / r")) الحجم = ser.inWaiting () إذا كان الحجم! = 0: التجزئة = time.time () response = ser.read (size) gps = str (response، encoding = "utf-8") if (gps.find ("OK")! = -1): os.system ("sudo cgps -s") exit () else: i = i + 1 print ("Waiting GPS Enable ، إذا كان الوقت طويلًا جدًا ، يرجى اختبار في الهواء الطلق:" + str (i)) ser.flushInput () time.sleep (1) باستثناء KeyboardInterrupt: ser.flushInput () ser.close ()
احفظه وقم بتنفيذه:
python3 GPS.py
الخطوة 11: كيفية استخدام وحدة GPS مع C (Raspberry Pi)
قم بتثبيت أدوات GPSd
sudo apt-get install libgps-dev
إنشاء كود المصدر وتسميته "gps.c"
# تضمين # تضمين # تضمين
#يشمل
#يشمل
انت مين()
{int rc؛ تلفزيون الهيكل الزمني. هيكل gps_data_t gps_data ؛ if ((rc = gps_open ("localhost"، "2947"، & gps_data)) == -1) {printf ("الرمز:٪ d ، السبب:٪ s / n" ، rc ، gps_errstr (rc)) ؛ عودة EXIT_FAILURE ؛ } gps_stream (& gps_data ، WATCH_ENABLE | WATCH_JSON ، NULL) ؛
بينما (1)
{/ * انتظر لمدة ثانيتين لاستلام البيانات * / if (gps_waiting (& gps_data، 2000000)) {/ * قراءة البيانات * / if ((rc = gps_read (& gps_data)) == -1) {printf ("حدث خطأ أثناء القراءة بيانات GPS. الكود:٪ d ، السبب:٪ s / n "، rc ، gps_errstr (rc)) ؛ } else {/ * عرض البيانات من جهاز استقبال GPS. * / if ((gps_data.status == STATUS_FIX) && (gps_data.fix.mode == MODE_2D || gps_data.fix.mode == MODE_3D) &&! isnan (gps_data.fix.latitude) &&! isnan (gps_data.fix.longitude)) {/ * gettimeofday (& tv، NULL) ؛ تحرير: tv.tv_sec ليس في الواقع الطابع الزمني! * /
printf ("خط العرض:٪ f ، خط الطول:٪ f ، السرعة:٪ f ، الطابع الزمني:٪ lf / n" ، gps_data.fix.latitude ، gps_data.fix.longitude ، gps_data.fix.speed ، gps_data.fix.time) ؛
// EDIT: تم استبدال tv.tv_sec بـ gps_data.fix.time} else {printf ("لا تتوفر بيانات GPS / n") ؛ }}} سكون (3) ؛ } / * عند الانتهاء… * / gps_stream (& gps_data ، WATCH_DISABLE ، NULL) ؛ gps_close (& gps_data) ؛ عودة EXIT_SUCCESS ؛ }
الخطوة 12: تجميعها
تجميع!
gcc gps.c -lm -lgps -o gps
إكسيك إت!
./gps
الخطوة 13: كيفية استخدام وحدة GPS مع لغة Python (Raspberry Pi)
يوصى بتنفيذ الكود التالي باستخدام Python 3 وتثبيت مكتبة gpsd-py3 و GPS 2D / 3D Fix:
استيراد GPSd
# الاتصال بنظام تحديد المواقع العالمي المحلي
gpsd.connect ()
# احصل على موقع GPS
الحزمة = gpsd.get_current ()
# راجع المستندات المضمنة لـ GpsResponse للبيانات المتاحة
طباعة (packet.position ())
الخطوة 14: كيفية استخدام وحدة GSM مع PPPd (Raspberry Pi)
أ) أولاً ، استبدل /boot/overlays/sc16is752-i2c.dtbo وتأكد من أن I2C يعمل بشكل صحيح.
- استبدل sc16is752-i2c.dtbo
- تكوين I2C
ب) أدخل الأمر i2cset -y 1 0x16 0x23 0x40 لإعادة ضبط وحدة GPRS.
بعد تشغيل الأمر ، عليك الانتظار قليلاً ، حوالي 10 ثوانٍ
يمكنك أيضًا استخدام الطريقة التالية لإعادة التعيين.
ج) أدخل الأمر
sudo apt install ppp
لتثبيت أدوات PPP.
د) انسخ / etc / ppp / peers / Provider to / etc / ppp / peers / gprs
هـ) عدل / etc / ppp / peers / gprs
- السطر 10: يرجى استشارة مزود الخدمة الخاص بك للمستخدم (مثال: cmnet).
- السطر 15: يرجى استشارة مزود الخدمة الخاص بك بخصوص apn (مثال: cmnet).
- السطر 18 - السطر 24: الإعداد الموصى به
F) قم بتعديل / etc / chatscripts / gprs (غيّر الخط 34 إلى السطر 35 ، رقم الطلب قد لا يكون * 99 #)
ز) أدخل الأمر sudo pppd call gprs للاتصال الهاتفي.
ح) تحقق من تكوين ppp الخاص بك من مزود خدمة الإنترنت الخاص بك.
I) أدخل الأمر ping -I ppp0 8.8.8.8 اختبر شبكتك (إذا كان الإنترنت متاحًا وكان جدول التوجيه صحيحًا)
ي) يرجى الحفاظ على إشارة GSM جيدة ، وإلا سيحدث ما يلي.
الخطوة 15: كيفية تشخيص وحدة GSM الخاصة بي (Raspberry Pi)
يوصى بتنفيذ الكود التالي باستخدام Python 3 وتثبيت مكتبة smbus:
استيراد وقت تسلسلي استيراد استيراد smbus استيراد مشغل استيراد نظام التشغيل
طباعة ("في انتظار التهيئة …")
الحافلة = smbus. SMBus (1)
bus.write_byte_data (0x16 ، 0x23 ، 0x40)
ser = serial. Serial ('/ dev / ttySC0'، 115200)
إذا ser.isOpen == خطأ:
ser.open () جرب: طباعة ('-' * 60) طباعة ("تهيئة وحدة A9G GPRS.") طباعة ("اتصال GSM …") time.sleep (3) i = 0 بينما صحيح: ser.write (str.encode ("AT + CCID / r")) size = ser.inWaiting () if size! = 0: ticks = time.time () response = ser.read (size) ccid = str (response، encoding = "utf -8 بوصة) print (ccid) else: i = i + 1 ser.flushInput () time.sleep (1) باستثناء KeyboardInterrupt: ser.close ()
قم بتنفيذ البرنامج النصي للاختبار ، بناءً على نتائج التنفيذ ، يمكننا تشخيص وحدة GSM. على سبيل المثال ، العائد التالي ، خطأ CME ERROR 53 يخبرنا أن الطاقة ليست جيدة. رمز CME = الأخطاء المتعلقة بجهاز GSM
بالطبع ، يحتوي البرنامج النصي أيضًا على وظيفة إعادة تعيين. إذا كان بإمكانك عرض CCID بشكل صحيح ، فستكتمل عملية إعادة الضبط.
الخطوة 16: كيفية استخدام Lora TX & RX مع C (Raspberry Pi)
يوصى بتنفيذ الكود التالي باستخدام Python 3 وتثبيت مكتبة smbus.
يجب نقلها بين عقدي IOT (A). المحتوى المرسل من تلقاء نفسه لا يمكن تلقيه من تلقاء نفسه. يرجى حفظه كبرنامج نصي py من أجل التنفيذ.
كيفية الإرسال: بعد ملء البيانات في السجل 0x01 - 0x10 ، اضبط بت L_TX لبدء إرسال البيانات.
استيراد الوقت استيراد smbus استيراد نظام التشغيل نظام الاستيراد
الحافلة = smbus. SMBus (1)
محاولة:
data_list = [170، 85، 165، 90] # اكتب البيانات للتسجيل وبعد ذلك سيتم إرسال البيانات. للفهرس في النطاق (1، len (data_list) + 1): bus.write_byte_data (0x16، index، data_list [index - 1]) طباعة ("LORA ترسل البيانات إلى٪ d سجل٪ d بيانات"٪ (index ، data_list [index - 1])) bus.write_byte_data (0x16 ، 0x23 ، 0x01) باستثناء KeyboardInterrupt: sys.exit ()
كيفية إرسال الاستلام: تحقق من بت L_RXNE ، إذا تم تعيينه ، وصلت بيانات جديدة ، يجب مسح هذه العلامة يدويًا
استيراد الوقت استيراد smbus استيراد نظام التشغيل نظام الاستيراد
الحافلة = smbus. SMBus (1)
recv_data =
محاولة:
if bus.read_byte_data (0x16، 0x23) & 0x02: # امسح L_RXNE bus.write_byte_data (0x16، 0x23، 0x00) register_list = [0x11، 0x12، 0x13، 0x14] # قراءة البيانات للفهرس في النطاق (0x11، len (register_list) + 0x11): recv_data.append (bus.read_byte_data (0x16 ، register_list [index - 0x11]))
طباعة ("البيانات المستلمة:")
print (recv_data) else: print ("لم يتم استلام بيانات بعد ~") باستثناء KeyboardInterrupt: sys.exit ()
الخطوة 17: وصف خاص لعرض النطاق الترددي I2C
الحد الأقصى لسرعة I2C هو 400 كيلو هرتز ، بسبب بروتوكول I2C ، وبالتالي فإن النطاق الترددي الفعال للجهاز الواحد أقل من 320 كيلو بت في الثانية ، وعرض النطاق الترددي الفعال للأجهزة المتعددة أقل من 160 كيلو بت في الثانية ، والحد الأقصى لسرعة جسر I2C UART هو 115200 بت في الثانية. يعمل في نفس الوقت ، عرض النطاق الترددي I2C غير كافٍ ، لأن 115.2 كيلوبت في الثانية * 2 = 230.4 كيلوبت في الثانية ، لذلك سوف يتم تجاوز بعض البيانات. تقليل معدل الباود لاتصالات GPS و GSM يمكن أن يحسن النقص في عرض النطاق الترددي للاتصالات. قد يستغرق تكديس وحدات DockerPi الأخرى عرض النطاق الترددي الإضافي I2C: عادةً ما تكون سرعة بيانات الشبكة بطيئة ، وبالتالي فإن عرض النطاق الترددي GSM ليس ممتلئًا ، لذلك لا توجد مشكلة في تجاوز سعة البيانات.
الخطوة 18: انتهى
اتمنى ان تعجبكم يا رفاق و تصنعوها
يمكنك العثور عليها هنا:
أمازون
ضوء الليل : https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S 4channel Relay board: https://www.amazon.co.uk/dp/B07MV1TJGR؟ref=myi_title_dp Power Board : https://www.amazon.co.uk/dp/B07TD595VS؟ ref = myi_title_dp IoT Node (A) : https://www.amazon.co.uk/dp/B07TY15M1C Sensor HUB https:// www. amazon.co.uk/dp/B07TZD8B61 برج الجليد :
موصى به:
كيفية استخدام مصحح أخطاء على ESP32: 11 خطوة (بالصور)
كيفية استخدام مصحح أخطاء على ESP32: هل سبق لك أن أردت إلقاء نظرة خاطفة داخل الكود الخاص بك لمعرفة سبب تصرفه على النحو الذي هو عليه؟ تقليديا في مشاريع ESP32 ، كان عليك إضافة بيان طباعة لا نهاية له لمحاولة اكتشاف ما كان يحدث ، ولكن هناك طريقة أفضل! مصحح أخطاء
سلسلة Docker Pi من لوحة محور الاستشعار حول IOT: 13 خطوة
سلسلة Docker Pi من Sensor Hub Board حول IOT: مرحبًا ، كل شيء في الوقت الحاضر ، يرتبط كل شيء تقريبًا بـ IOT. لا شك في ذلك ، تدعم لوحة سلسلة DockerPi أيضًا IOT. اليوم ، أريد تقديم سلسلة DockerPi من SensorHub كيف للتقدم إلى IOT عليك ، قمت بتشغيل هذا العنصر الذي يعتمد على
كيفية إعداد Pi-Hole على Raspberry Pi ، أداة حظر الإعلانات على مستوى الشبكة !!: 25 خطوة
كيفية إعداد Pi-Hole على Raspberry Pi ، أداة حظر الإعلانات على مستوى الشبكة !!: بالنسبة لهذا المشروع ، ستحتاج إلى: Raspberry Pi قادر على الاتصال بالإنترنت وبطاقة Micro SD تعمل على لوحة مفاتيح Raspbian LiteA (لإعداد SSH) ثانية الجهاز (للوصول إلى بوابة الويب) معرفة أساسية بـ UNIX بالإضافة إلى التنقل عبر الواجهة على
كيفية استخدام وحدة GY511 مع Arduino [عمل بوصلة رقمية]: 11 خطوة
كيفية استخدام وحدة GY511 مع Arduino [إنشاء بوصلة رقمية]: نظرة عامة في بعض مشاريع الإلكترونيات ، نحتاج إلى معرفة الموقع الجغرافي في أي لحظة والقيام بعملية محددة وفقًا لذلك. في هذا البرنامج التعليمي ، ستتعلم كيفية استخدام وحدة البوصلة LSM303DLHC GY-511 مع Arduino لإنشاء بوصلة رقمية
(الصيف) سلسلة LED للاحتفالية (الكريسماس) سلسلة LED: 5 خطوات (بالصور)
(الصيف) LED String to Festive (Christmas) LED String!: لذلك ما زلت أمتلك هذه السلاسل (الصيفية) المليئة بمصابيح LED موجودة منذ الصيف الماضي. تحويل المصابيح من الصيف الماضي إلى سلسلة احتفالية من المصابيح الملونة! الأشياء المطلوبة