فئات المرافق لتمهيد مشاريع اردوينو.
في دقائق قليلة، ستتمكن من القراءة والكتابة على وحدة التخزين (بتنسيق JSON)، وقراءة الرسائل وإرسالها إلى قائمة انتظار MQTT، والاتصال بشبكة WiFi بدون كلمات مرور ثابتة والمزيد...
يريد Arduino Bootstrapper
أن يكون نقطة انطلاق لإنشاء مشاريع جيدة دون تكرار التعليمات البرمجية .
Espressif ESP8266/ESP32
هي الأنظمة الأساسية الافتراضية ولكن يمكنك بسهولة إضافة دعم لمنصات ولوحات أخرى.
مكتوب لـ Arduino IDE وPlatformIO.
إذا كنت تحب Arduino Bootstrapper ، فامنحه نجمة أو افصله وساهم!
افتح مشكلة هنا على Github، فقد تكون أسئلتك مفيدة للمستخدمين الآخرين.
هناك طريقتان لتشغيل برنامجك باستخدام هذه الأدوات المساعدة.
منظم الحرارة الذكي، محطة الطاقة الشمسية، دودة الوهج لوسيفيرين، ملفاف الساعة الذكية
استنساخ التمهيد
git clone [email protected]:sblantipodi/arduino_bootstrapper.git
ما عليك سوى تعديل هذا الملف حسب الوصف، ولا يتطلب الأمر سوى بضع دقائق
.
├── ...
├── examples # Project src folder
│ ├── ChangeName.cpp # Main file with loop() and setup() function, rename and copy it into your src folder
│ ├── ChangeName.h # Main header file, rename and copy it into your include folder
│ └── ...
├── src # Folder for core files, edit those files and contribute!
│ ├── BootstrapManager.h # Core header file with utility classes for bootstrapping
│ ├── QueueManager.h # Core header file with utility classes for Queue and MQTT management
│ ├── WifiManager.h # Core header file with utility classes for Wifi and OTA upload management
│ ├── Helpers.h # Core header file with helper classes
│ └── ...
├── platformio.ini # Configure all the required info (ex: Wifi device name, DNS gateway, ecc.)
├── secrets.ini.template # Configure password and rename the file in secrets.ini
└── ...
ملحوظة:
يجب عليك تنفيذ تلك الوظائف التي يتم تمريرها بواسطة المؤشر * إلى وظائف التمهيد الرئيسية:
class BootstrapManager {
...
public:
void bootstrapSetup (
void (*manageDisconnectionFunction)(),
void (*manageHardwareButton)(),
void (*callback)( char *, byte*, unsigned int )
);
void bootstrapLoop (
void (*manageDisconnectionFunction)(),
void (*manageQueueSubscription)(),
void (*manageHardwareButton)()
);
...
};
manageDisconnections()
# اختياري ضع المنطق الذي تحتاجه في حالة فصل وحدة التحكم الدقيقة عن الشبكةmanageHardwareButton()
# اختياري وضع تعليمات خاصة لإدارة أزرار الأجهزة أثناء قطع اتصال الشبكةmanageQueueSubscription()
# اشترك في موضوعات mqtt المطلوبةcallback()
# يتم استدعاء وظيفة رد الاتصال عند وصول رسالة من قائمة الانتظار يمكنك استيراد Arduino Bootstrapper
إلى مشاريعك الحالية بطريقتين:
// For PlatformIO
Add `lib_deps` to your `platformio.ini`
lib_deps = ArduinoBootstrapper
// For ArduinoIDE
Simply import the Bootstrapper library from the library manager
git submodule add https://github.com/sblantipodi/arduino_bootstrapper.git arduino_bootstrapper
بالنسبة لكلا طريقتي الاستيراد، يجب عليك بعد ذلك إضافة المزيد من التوجيهات إلى platformio.ini
الخاص بك
lib_extra_dirs = arduino_bootstrapper
انسخ وتكوين ~/arduino_bootstrapper/secrets.ini.template
في secrets.ini.template
يرجى تضمين BootrapManager.h في ملف الرأس الرئيسي الخاص بك:
# include " BootstrapManager.h "
وقم بتهيئة فئة BootstrapManager:
BootstrapManager bootstrapManager;
في وظيفة setup()
الخاصة بك، أضف أداة التمهيد Wifi وMQTT وOTA
bootstrapManager.bootstrapSetup(manageDisconnections, manageHardwareButton, callback);
في وظيفة loop()
الخاصة بك، قم بإضافة وظيفة مدير التمهيد
bootstrapManager.bootstrapLoop(manageDisconnections, manageQueueSubscription, manageHardwareButton);
يرجى اتباع تعليمات Bootstrap a project from scratch
بدون جزء استنساخ git الأولي.
يستخدم هذا المشروع الروابط الرمزية، ولا يقوم Windows بتمكين الروابط الرمزية افتراضيًا، لتمكينها، قم بتشغيل cmd هذا من وحدة تحكم المسؤول:
export MSYS=winsymlinks:nativestrict
يدعم هذا المشروع CI عبر GitHub Actions. يوجد في المجلد .github/workflows
نوعان من سير العمل
إذا كنت تستخدم بناء الجملة هذا:
git tag -a v1.0.0 -m "your commit msg";
git push origin --tags;
سيكون النص الموجود في رسالة الالتزام هو وصف الإصدار الخاص بك.
سيبحث Arduino Bootstrapper عن ملف secrets.ini
، إذا لم تقم بتكوينه، فسيتم تشغيل نقطة الوصول.
يمكنك الاتصال بنقطة الوصول باستخدام هاتفك المحمول والانتقال إلى http://192.168.4.1 للوصول إلى واجهة المستخدم الرسومية
سيتيح لك ذلك إدخال جميع كلمات المرور دون الحاجة إلى تشفيرها.
هذا البرنامج مرخص بموجب ترخيص MIT
شكرًا | ل |
---|---|
للحصول على تراخيص CLion IDE. |