İçindekiler:
- Adım 1: Giriş
- Adım 2: Laravel Uygulamasını Hazırlayın
- Adım 3: Arduino Göndericisini Hazırlayın
- 4. Adım: Diğer Adımlar
Video: Arduino'dan Laravel'e İletişim: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Herkese selam, Bu Eğitilebilir Kitapta, bir Arduino'dan bir Laravel uygulamasına nasıl veri gönderebileceğinizi göstereceğim.
Adım 1: Giriş
Ne zaman veri görüntüleme ve kaydetme gerektiren bir projemiz varsa, genellikle verilerin web üzerinde mevcut olması gerekir. Bu şekilde, bir nesnenin durumunu uzaktan izleyebilir ve hatta dünyanın herhangi bir yerinden cihazlarımızı kontrol edebiliriz.
Bu proje için, üzerinde ESP8266 12e modülü bulunan bir NodeMCU v1.0 kartı kullanacağız. Ayrıca Laravel uygulamamızı barındırabileceğimiz bir bilgisayar kullanmamız gerekecek. Böyle bir ortamı nasıl kurabileceğinizi öğrenmek istiyorsanız, bununla ilgili videoma bakın.
Adım 2: Laravel Uygulamasını Hazırlayın
İlk adımımız Laravel'i Composer üzerinden kurmak. Belgeler ayrıntılı olarak açıkladığı ve burada bulabileceğiniz için bunu nasıl yapabileceğinizin ayrıntılarına girmeyeceğim.
Bu demoyu basit tutmak için, Laravel içinde Arduino'dan gönderilen bilgileri daha sonra gözden geçirebilmemiz için bir metin dosyasına kaydedeceğiz. Bunun için önce " api.php " dosyasında yeni bir POST rotası oluşturacağız. Geri aramada, daha sonra gönderilen parametreleri alabilmemiz için istek ayrıntılarını enjekte edeceğiz.
Bir dosyaya yazmak için, kullanışlı ekleme yöntemiyle Laravel'in Storage cephesini kullanıyorum. Bu yöntem çağrıldığında bir dosya adı ve dize verisi alır ve burada bu verileri belirtilen dosyaya ekler. Dosya yoksa, ilk aramada oluşturuluyor.
Her satıra yazdığımız veriler, güncel tarih ve saat, ardından sıcaklık ve nem için istek değerlerinden oluşur. Bu tür birden fazla değeriniz varsa, hepsi için aynı alma işlemini tekrarlayabilirsiniz.
Adım 3: Arduino Göndericisini Hazırlayın
Şimdi Arduino koduna ve veri gönderimine bakalım.
NodeMCU kartının WiFi bağlantımıza bağlanabilmesi ve istek gönderebilmesi için önce birkaç kütüphaneyi en üste eklememiz gerekiyor. Ardından, bağlandığımız ağın SSID'sini ve şifresini belirtmemiz gerekiyor. Ethernet kalkanlı bir Uno kullanıyorsanız, işleminiz farklı olacaktır.
Ayrıca yeni oluşturduğumuz Laravel sunucusunun kök URL'sini de buraya kaydediyoruz. Benim durumumda bu, yerel bilgisayarımın IP adresidir, ancak kodun erişilebilir olduğu herhangi bir ana bilgisayar URL'sini ekleyebilirsiniz.
Setup fonksiyonunda ise seri haberleşmeyi başlatıyoruz böylece neler olup bittiğini izleyebiliyoruz. Ek olarak, WiFi'ye düzgün şekilde bağlanabilmesi için NodeMCU kartını kurmamız gerekiyor. Bu yapıldıktan sonra bağlantıyı başlatabilir ve yönlendiriciden bir IP adresi alana kadar bekleyebiliriz.
Bu örnek için, aslında panoya bağlı herhangi bir sensörüm yok. Bunun yerine rastgele işlevini kullanarak rastgele veriler oluşturuyorum ve bunu gönderiyorum.
Bu verinin bir sorgu dizesi şeklinde hazırlanması gerekiyor ve HTTP isteği başladıktan sonra HTTP istemcisi üzerinde POST yöntemini kullanarak göndermemiz gerekiyor. Daha önce eklediğimiz başlık, sunucunun istekte toplaması gereken veriler olduğunu bilmesini sağlamak için var.
Sonuç olarak, önce HTTP durum kodunu ve ardından yanıt yükünü alırız. Her şey yolunda giderse kod olarak 200 almamız gerekiyor ve Laravel uygulamamızdan hiçbir şey döndürmediğimiz için payload boş olacak.
Herhangi bir nedenle durum kodu 200 değilse, yük genellikle ne olduğuna dair hata mesajını içerecektir.
Son olarak aynı işlemi tekrar yapabilmek için örneğimizde 5 saniye gibi belli bir süre bekleyip isteği kapattığımızdan emin olmamız gerekiyor.
Sonuç, her yinelemede metin dosyasına kaydedilen bu değerleri elde etmemizdir, böylece daha sonra bunu görüntülemek veya bir grafik üzerinde eşlemek için kullanabiliriz.
4. Adım: Diğer Adımlar
Gördüğünüz gibi, süreç oldukça basittir ve farklı sensörlerden gelen değerleri okumak ve belki bunları bir veritabanına yazmak için kolayca genişletilebilir. Bununla inşa edebileceklerinizin sonucu sadece hayal gücünüzle sınırlıdır. Başlamanıza yardımcı olmak için aşağıda örnekte kullanılan tam kaynak kodun bağlantısı verilmiştir.
github.com/bkolicoski/arduino-laravel-comm…
Umarım bu Eğitilebilir Kitaptan yeni bir şeyler öğrenmeyi başarmışsınızdır ve öğrendiyseniz, lütfen yorumlarda bana bildirin, Eğitilebilir Kitaplar'da beni takip edin ve YouTube kanalıma abone olmayı unutmayın.
Teşekkürler!
Önerilen:
Arduino, Esp8266 veya Esp32 için Düşük Maliyetli E32 (sx1278/sx1276) Cihazı ile LoRa 3Km - 8Km Kablosuz İletişim: 15 Adım
Arduino, Esp8266 veya Esp32 için Düşük Maliyetli E32 (sx1278/sx1276) Cihazı ile LoRa 3Km - 8Km Kablosuz İletişim: Semtech serisi LoRa cihazına dayalı, çok güçlü, basit ve ucuz bir cihaz olan EBYTE E32'yi yönetmek için bir kütüphane oluşturuyorum. 3Km versiyon burada, 8Km versiyon burada 3000m ile 8000m arasında bir mesafede çalışabilirler ve bir çok özelliği ve
Kablosuz Şifreli İletişim Arduino: 5 Adım
Kablosuz Şifreli İletişim Arduino: Herkese merhaba, Bu ikinci yazımda sizlere kablosuz iletişiminizi güvence altına almak için Atecc608a çipini nasıl kullanacağınızı anlatacağım. Bunun için Kablosuz kısım için NRF24L01+ ve Arduino UNO'yu kullanacağım. Mikro çip ATECC608A tarafından tasarlanmıştır
Arduino'dan Düğüme İletişim: 4 Adım
Arduino'dan Düğüme İletişimi: Bu talimat, yalnızca iki Arduino uyumlu kart arasında UART (Seri) aracılığıyla veri gönderme ve alma konusunda çok temel bir gösteri içindir
LORA Arduino ile Eşler Arası İletişim: 9 Adım
LORA Arduino ile Eşler Arası İletişim: Ben yeni başlayan bir elektronik meraklısıyım ve bu benim ilk dersim, bu yüzden lütfen yorumlarınızda sert olmayın. Bu talimatta, iki LORA düğümünün TTN (nesneler ağı) olmadan doğrudan nasıl iletişim kuracağını açıklayacağım. Nedir?
Uzun Menzilli, 1.8km, Arduino'dan Arduino'ya HC-12. İle Kablosuz İletişim: 6 Adım (Resimlerle)
Uzun Menzilli, 1.8km, Arduino'dan Arduino'ya HC-12 İle Kablosuz İletişim.: Bu talimatta, açık havada 1.8km'ye kadar uzun bir mesafede Arduino'lar arasında nasıl iletişim kuracağınızı öğreneceksiniz.HC-12 kablosuz bir seri bağlantı noktasıdır. çok kullanışlı, son derece güçlü ve kullanımı kolay iletişim modülü. Önce uçacaksınız