Discord Bot ini menyediakan data cuaca dari Weatherstation FHDW. Bot dapat berlangganan dan berhenti berlangganan saluran untuk menerima pembaruan cuaca, daftar saluran yang saat ini berlangganan, dan berhenti berlangganan semua saluran sekaligus.
Tujuan dari repositori ini adalah untuk memberikan contoh komprehensif tentang cara mengintegrasikan data dari perangkat akhir dalam hal -hal yang ditumpuk ke dalam bot perselisihan menggunakan protokol MQTT. Dengan melakukan itu, ia menjembatani kesenjangan antara perangkat IoT menggunakan teknologi Lorawan dan platform komunikasi populer, perselisihan. Ini memungkinkan pengguna dan masyarakat untuk menerima pembaruan waktu nyata dari perangkat IoT mereka, seperti data cuaca, langsung di saluran perselisihan mereka.
Melalui demonstrasi ini, repositori berupaya memberdayakan pengembang dan penggemar untuk mengeksplorasi potensi mengintegrasikan data IoT dengan perselisihan. Proyek ini berfungsi sebagai dasar untuk membuat aplikasi yang lebih canggih yang memanfaatkan data Lorawan dengan cara yang inovatif. Pada akhirnya, repositori ini bertujuan untuk menginspirasi masyarakat untuk menemukan cara -cara baru dan kreatif untuk memanfaatkan data IoT dan meningkatkan kemampuan bot perselisihan mereka.
Integrasi data dari hal -hal yang ditumpuk ke dalam bot perselisihan dicapai dengan menggunakan protokol MQTT, protokol pesan yang ringan dan efisien yang dirancang untuk perangkat IoT. MQTT memungkinkan transfer data yang aman dan andal antara perangkat akhir dan bot Discord. Dengan berlangganan topik yang sesuai dalam hal -hal yang ditumpuk, bot Discord dapat menerima data yang dikirimkan oleh perangkat IoT.
Kode yang diperlukan diimpremakan dalam mqttHandler.js . Integrasi dicapai dengan mengikuti langkah -langkah ini:
createMqttClient dari file mqttHandler.js di index.js .config.json .createMqttClient() dalam file index.js dan memberikan kredensial yang diperlukan dan fungsi panggilan balik untuk menangani pesan yang diterima.createMqttClient() mengatur klien MQTT dengan menghubungkan ke hal -hal yang ditumpuk dan berlangganan topik yang ditentukan.index.js :createWeatherEmbed() .dataStorage .dataStorage .Dengan memahami prosesnya, pengembang dapat membangun pengetahuan ini untuk proyek masa depan yang melibatkan perangkat IoT. Integrasi berfungsi sebagai templat untuk berbagai aplikasi, seperti menghubungkan perangkat IoT ke platform yang berbeda, mengubah dan memproses data, dan membuat peringatan atau pemberitahuan khusus. Contoh ini menunjukkan bagaimana MQTT dapat digunakan sebagai alat yang ampuh untuk menjembatani kesenjangan antara perangkat IoT dan aplikasi lainnya, menumbuhkan solusi yang lebih inovatif dan terintegrasi untuk Internet of Things.
Pergi ke Portal Pengembang Perselisihan dan masuk dengan akun Perselisihan Anda.
Klik tombol "Aplikasi Baru", berikan nama aplikasi Anda, lalu klik "Buat".
Di pengaturan aplikasi, klik pada tab "Bot", lalu klik tombol "Tambahkan Bot" untuk membuat bot untuk aplikasi Anda. Konfirmasi dengan mengklik "Ya, lakukan!".
Di tab "bot" pastikan bahwa "niat konten pesan" diatur ke true .
Di bawah bagian "Token", klik "Salin" untuk menyalin token bot Anda. Jaga agar token ini aman, karena akan digunakan untuk mengotentikasi bot Anda dengan perselisihan.
(Opsional) Sesuaikan nama bot Anda, gambar profil, dan pengaturan lainnya seperti yang diinginkan. Membuka
git clone https://github.com/yourusername/FHDW-Weatherstation-Discord-Bot.git... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > npm install You might have to navigate to the Bot directory before running `npm install`.
To navigate use `cd folder_name`
{
"token" : " your_discord_bot_token " ,
"clientId" : " your_discord_bot_client_id " ,
"guildId" : " your_discord_server_guild_id " ,
"ttnAppUser" : " your_ttn_app_user " ,
"ttnAppPw" : " your_ttn_app_pw " ,
"ttnAdress" : " your_ttn_address " ,
"ttnAppDevice" : " your_ttn_app_device "
}Contoh:
{
"token" : " AAA0000aaa000AAAA000AA.AAA00AAA.aaa-AaaaaAA0000AAAAAAAAAAaaaAAAA00AAAAAA " ,
"clientId" : " 1234567891234567891 " ,
"guildId" : " 1234567891234567891 " ,
"ttnAppUser" : " hello-world-weather " ,
"ttnAppPw" : " NXYXX.0A0AAAAAAAA0AAAAAAA4AAA00AAAMAAAAAAAAA.AA0AAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA " ,
"ttnAdress" : " mqtts://eu1.cloud.thethings.network:8883 " ,
"ttnAppDevice" : " eui-00a0000aa000a000 "
}https://discord.com/api/oauth2/authorize?client_id=your_discord_bot_client_id&permissions=8&scope=bot
Contoh fhdw-weather-bot: https://discord.com/api/oauth2/authorize?client_id=1088855644333867069&permissions=8&scope=bot
... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > node deploy-commands.js (You might have to restart your Discord-Client afterwards)
3.1. Untuk memulai bot, jalankan:
... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > npm start3.2. Untuk menjalankan bot dalam mode pengembangan dengan nodemon, jalankan:
... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > npm run dev/subscribe [channel] : Berlangganan saluran ke Weatherstation FHDW. Jika tidak ada saluran yang disediakan, saluran saat ini akan berlangganan./unsubscribe [channel] : Berhenti berlangganan saluran dari Weatherstation FHDW. Jika tidak ada saluran yang disediakan, saluran saat ini tidak akan berlangganan./list : Sebutkan semua saluran yang saat ini berlangganan Weatherstation FHDW./unsubscribe_all : berhenti berlangganan semua saluran dari weatherstation fhdw. Untuk menggunakan bot pada platform hosting, ikuti instruksi khusus platform untuk aplikasi Node.js. Pastikan untuk memasukkan file config.json dengan kredensial Anda dalam paket penyebaran.
Pastikan file config.json termasuk dalam penyebaran Anda dan bahwa token bot Anda dan informasi sensitif lainnya tetap aman. Jika platform hosting mendukung variabel lingkungan, disarankan untuk menyimpan kredensial Anda sebagai variabel lingkungan daripada memasukkannya ke dalam file config.json.
Misalnya, Anda dapat menggunakan bot ke Heroku dengan mengikuti langkah -langkah ini:
Untuk instruksi yang lebih rinci tentang menggunakan bot perselisihan ke Heroku, lihat panduan ini.
Proyek ini dilisensikan di bawah lisensi MIT.