WEB'den Arduino'ya komut gönder

Arduino'ya web'den bazı talimatlar göndermem gerekiyor. Temelde birkaç butona sahip bir web uygulaması olurdu ve onlara bastığımda Arduino'ya örneğin bir motoru hareket ettirmek veya bir lambayı çevirmek için bir talimat gönderiyorlar. Bu uzaktan çalışmak zorunda, bu yüzden yerel olarak değil.

Arduino Yùn kullanıyorum.

Bunu nasıl yapmalıyım? WebSocket'e? Nasıl? Teşekkürler!

0
Bir soketten komut göndermelisin, evet. Kendi portunuzda kendiniz yapabilirsiniz ya da sadece HTTP istekleri yapabilirsiniz (örneğin GET istekleri). Sadece bir web sayfası ile nasıl yapılacağını gösteren bir öğretici arayın, ardından tüm web sayfası tasarımını atın ve yalnızca get sayfalarını uygulayın. Uzak web uygulamasından, bu sayfaları arayın. Veya sadece kendi protokolünüzü yapın
katma yazar Tom Collins, kaynak

3 cevap

Seriyi, bir seri bağdaştırıcıya sahip bir arduino olan linux bilgisayarı olarak görürseniz çok daha kolaylaşır.
Sonra soru şu olur: Internet üzerinden komutları (linux) bilgisayara göndermenin en iyi yolu nedir? Cevap: çok yol var çünkü en iyi yol yok. Ana anahtar sürücüler nelerdir: Linux bilgisayarınızın internetten erişilebilir olması gerekiyor. Yerel ağınızı (güvenlik duvarı) açmak anlamına gelir. Güvenlik duvarı bir sebepten dolayı orada. Güvenlik duvarınızı açma ve hala güvende olma becerileriniz var mı? Eğer öyleyse bir hizmeti (çok sayıda seçenek) çalıştırabilir ve internetteki herhangi bir yerden yununuza ulaşabilirsin. Tıpkı yerel olarak yaptığınız gibi.

Eğer değilse, bir oylama sistemine gitmeniz gerekecektir. İnternetteki bir sunucuyu kullanıyor ve bu sunucuya istek gönderirsiniz. Senin yunun, gönderdiği mesajları almak için sunucuyu çağırır.

Üçüncü bir seçenek var: Güvenlik duvarınızı internetten açabilirseniz ve hizmetin tek kullanıcısıysanız ve çok nadiren hizmete ihtiyacınız varsa, gerektiğinde güvenlik duvarını geçici olarak açabilirsiniz. .

1
katma

Başka bir seçenek, cihazınızı bir mobil uygulamadan kontrol etmekle sınırlandırılabiliyorsa, blynk.cc . Android ve iOS için mobil uygulamalar sağlayarak, uygulama ve gömülü cihaz arasında iki yoldan söz eden Arduino, bağımsız ESP8266, RPi ve diğerleri için sürükle ve bırak yöntemiyle bir katıştırılmış platform kitaplığı oluşturmanıza olanak tanır. cihazlar arasında olduğu kadar.

Gömülü cihazlar ve mobil uygulamalar istemcilerini sunucularına (veya açık kaynaklı sunucu kodunu barındırmayı seçerseniz sunucunuza) iletir, böylece yönlendiricinizde veya güvenlik duvarınızda herhangi bir bağlantı noktası açmak zorunda kalmazsınız.

Özel web sayfalarını tasarlamanın tam özgürlüğüne (veya gereksiniminize!) Sahip olmayacaksınız; ama OTOH, birkaç dakika içinde örnek kodlarıyla koşup koşabilirsin.

Masamda, sıcaklığı (artı geçmişi) bana web bağlantısı bulabildiğim her yerde bildirebilecek bir kaç oda sıcaklığı monitörüm var. Paneldeki 2 LED'i açmak veya yanıp sönmek için panelime iki düğme koydum. Ayaklarımın tepesinde yukarıdayken LED'leri kontrol ediyorum. PWM bağlantı noktalarıyla da konuşabilen kaydırıcı denetimleri vardır. İhtiyacınız olan tüm özellikler var, en azından başlamak için.

0
katma

Bunu yapmanın en basit yolu, Yùn'in kendisindeki düğmelerle bir web sayfası oluşturmaktır, örneğin buradaki . Orada böyle şeyler için çok sayıda örnek var.

Buna "uzaktan" erişmek için - İnternetteki herhangi bir yerden demek istediğimi farz ediyorum - ev yönlendiricinizden Yùn'e bir bağlantı noktası göndermeniz gerekir, bunun gibi . Bu, Yùn'i internetten erişilebilir kılacaktır. Sadece dış adresinizi (Google: "IP'imi Bul") bilmek zorundasınız ve arduino'nuza dünyanın her yerinden erişebilirsiniz.

0
katma