WiFi kullanarak bir Arduino'ya nasıl bağlanabilirim?


27

Güneş enerjili, Arduino merkezli bir hava istasyonu inşa etmeye çalışıyorum. Meteoroloji istasyonu bir sıcaklık sensörü ve bir fotoresistörden oluşur ve gelecekte bir anemometre eklemeyi planlıyorum. Meteoroloji istasyonunu kablosuz ağa bağlamak istiyorum, böylece kabloları çalıştırmak zorunda kalmadan bilgisayardan sensör verilerini alabiliyorum (kiralık olarak yaşıyorum).

Arduino'yu WiFi'ye bağlamak için farklı seçenekler nelerdir? Ethernet kalkanlarına, WiFi kalkanlarına ve Xbee denilen bir şeye baktım, ama her birinin ne için olduğunu anlamıyorum.

Ayrıca kullanabileceğim bir kablosuz ev yönlendiricim var. Arduino Uno'mu yönlendiriciye ethernet veya USB portu üzerinden yönlendiriciye bağlamak ve daha sonra ev ağım üzerinden kablosuz olarak Arduino'ya veri almak ve komutları göndermek mümkün mü? Eğer öyleyse, bu nasıl başarılabilir?

Şu anda çıplak bir Arduino Uno var.


4
Ethernet kalkanı var mı?
jfpoilpret

3
Sorunuzu netleştirmeniz gerekir: "bununla iletişim kurmak" ne anlama geliyor? Çizimleri yükle? Eskiz için komutlar gönderilsin mi? Bir çizimden veri al?
jfpoilpret

Soruya ayrıntı ve bağlam eklemeye çalıştım. Şu an hiçbir kalkanım yok.
jlbnjmn

Resmi Uno'nun herhangi bir revizyonunun ethernet portu olduğunu sanmıyorum. Sanırım bir Arduino Ethernet'e (ki benzer) ya da belki de bir tür resmi olmayan klonuna sahip olmalısınız?
Peter Bloomfield

Kablosuz yönlendiricideki ethernet portunu belirtmek için soruyu düzenledim. Yani soru şudur: [Arduino +? + (Kablosuz Yönlendirici VEYA?) = Arduino kablosuz ağım üzerinden veri gönderiyor].
jlbnjmn

Yanıtlar:


24

Arduino'nuzu ağa / İnternete bağlamak için birkaç seçeneğiniz vardır.

Ethernet

Arduino Ethernet Kalkanı gibi bir şey , bir Ethernet kablosunu duvardan veya yönlendiriciden Arduino'nuza takmanıza olanak tanır. Açıkçası, ana sınırlama, cihazınızın artık kabloyla bağlanmış olmasıdır. Dış mekan kullanımı için bunu yapmazdım.

Kablosuz internet

Arduino WiFi Shield evinizdeki Kablosuz ağa bağlanmak için izin verir. Bu şimdi kablosuz dışında Ethernet gibi.

ESP8266 varsayılan firmware ile, WiFi Kalkan ile aynı işleve sahiptir, daha ucuz bir alternatiftir. Arduino'nun geri kalan kısmında 5V ile değil 3.3V ile güçlendirmeye dikkat edin. Ayrıca 3.3V mantık seviyeleri kullanır, böylece Arduino'nun TX pinini doğrudan ESP'nin RX pinine bağlamayın; Bir voltaj bölücü kullanın.

RF

Birbiriyle iletişim kurması gereken çok sayıda sensörünüz veya başka cihazlarınız varsa, en iyi seçenek genellikle bir RF modülüdür. Burada birçok seçeneğiniz var, XBee bunlardan biri. Mevcut tüm seçeneklere bakmak için Sparkfun XBee Satın Alma Kılavuzuna göz atın. Ve bu sadece XBee. Her türlü fiyattan başka birçok kablosuz seçenek mevcut.

RF ile olan şey, bunların hiçbirinin İnternete bağlanmayacağıdır. Tüm cihazlarınızın birbirleriyle veya bir baz istasyonu ile iletişim kurmasını sağlayabilirsiniz, bu daha sonra bir WiFi veya Ethernet modülü ile ağa bağlanacaktır.

Kablosuz Yönlendirici Seri

Ne tür bir kablosuz yönlendirici kullandığınıza bağlı olarak, Arduino ile doğrudan iletişim kurmasını sağlayabilir ve bunu bir ağa bağlantınız olarak kullanabilirsiniz.


1
"RF" iletişimi için, popüler nRF24L01 + modüllerini de kullanabilirsiniz. Bunun için orada bazı iyi kütüphaneler var. RF bağlantısıyla ilgili sorun, “alıcı” olarak çalışan başka bir Arduino veya Raspberry Pi vb. Bilgisayarınızın daha sonra verileri depolamak / görüntülemek / analiz etmek istediğiniz yere bağlanmış olması gerekir. Wifi için artık CC3000 kalkanları da mevcut. Adafruit.com/products/1534
Mike WP

Sağladığınız seçenekleri araştırırken Yun ile karşılaştım. Bu daha basit bir seçenek olabilir mi? Teşekkürler.
jlbnjmn

Olabilir. asla kendim kullanmadım. Kalkanlar ile bağlantı kurmak zor değil ve daha ucuz olabilir.
sachleen 23

4

OpenWrt ve Arduino'nuzla evlenin

"TP-Link TL-WR703N" gibi küçük bir OpenWrt özellikli yönlendirici edinin, geçerli OpenWrt sürümü ile işaretleyin ve Arduino'nuzu yönlendiricinin USB bağlantı noktasına bağlayın.

Bu çözüm, WiFi kalkanlarının maliyetinin yarısı veya daha azını oluşturur ve çok daha fazla güce sahiptir.

... ve bir YÙN kadar ucuz.

OpenWRT yönlendirici WR703N akıllı ev otomasyonu web sunucusu, Arduino'ya arayüzlü, Raspberry Pi ve Ubuntu ile karşılaştırıldığında, bu konuyu okumak için bir başlangıç ​​noktası olabilir.

(!) Bakın https://arduino.stackexchange.com/a/1754/653 de ....


4

ESP8266, UART, SPI bağlantısı olan ucuz bir 5 $ wifi modülüdür. Bu, Arduino ile AT komutlarını kullanarak stok üretici yazılımı yoluyla veya sağlanan SDK'yı ve GIPO'yu kullanarak özel üretici yazılımı yazarak sorunsuz bir şekilde entegre edilebilir. Daha fazla başvuru için http://www.esp8266.com/


3

Birkaç aydır arduino ve ahududu pi üzerinde xbee ile çalışıyorum. Sorunları ve tuhaflıkları olmasına rağmen, iletişim zincirinde harika bir araçtır. Mükemmel değil ama örgü tarafı göz önüne alındığında, benim için benim wifi daha ileri uzanıyor ve daha güvenilir olabilir (wifi ile ahududu pi zaman zaman düşer, ancak bağlı xbee arka planda çalışmaya devam eder.

Özellikle benim durumumda cihazlarım (birkaç arduino, bir ahududu pi (koordinatör)) ve mac'um (seri olarak izlemek için kullanılır, ancak bazen seri verileri enjekte etmek için kullanılır) arasında seri bağlantıya izin verir. Bu durumda mükemmel. Internet erişimine veya xbee çerçevesinin ötesine erişime izin vermiyor, ancak uygulama Ethernet ek yükü olmadan Serial.print ve Serial.read kadar basit olduğundan uygulama için mükemmel bir seçim.


2

Kullandığım Çekirdek Spark Arduino programlama platformu kullanmak çok kolaydır hangi. Bu platform WiFi'nin kullanımı kolay ve ucuz olması gerektiği ilkesi üzerine inşa edildi. Spark Core'u istediğiniz zaman, istediğiniz zaman programlayabilirsiniz.


XBee ile karşılaştırıldığında: fiyat (kalkan gibi Arduino bağlantı malzemeleri dahil), mesafe aralığı, programlama (Arduino'da) açısından nasıl karşılaştırılır?
jfpoilpret

2

Bir Arduino Yun deneyebilirsiniz, bir Uno gibi ama doğrudan tahtada bir WiFi var.

"Yerleşik WiFi'yi Yapılandırma" adlı "Arduino Yún Kılavuzu" nda, WiFi'nin nasıl yapılandırılacağını açıklayan bir bölüm vardır .


1
Merhaba, cevabınızı daha fazla bilgi ile düzenler misiniz? OP zaten Yun'u çoktan biliyor, bu yüzden cevabınız, örneğin insanlara WiFi yongasını nasıl kullanacakları konusunda rehberlik etse cevabınız daha yararlı olacaktı.
sachleen

1

İstediğiniz şey yapmak oldukça kolay ve kod zaten var. Ama benim görüşüme göre, Arduino algılayıcınızı wifi cihazınıza bağlamayacaksınız. Bunun yerine, ağ geçidi olarak başka bir Arduino kullanacaksınız:

Sensör Arduino: Dışarıda bulunur, sıcaklık sensörüne bağlı, rüzgar hızı, yağmur göstergesi?

Gateway Arduino: İçinde, Wiznet 5001 ethernet kalkanı bulunan

Sensor Arduino ve Gateway Arduino, bir çok kullanımı kolay kablosuz alıcı-verici olan nRF24L01 + kullanarak birbirleriyle konuşuyor. Kablosuz modüllerin her biri 3 dolar ve kullanım kitaplığı çok olgun. Bu sensör kullanılarak tüm sensör verileri kolayca Ağ Geçidine iletilir.

Ağ geçidi Arduino, ethernet ile web sunucusu olarak işlev görür ve yerel ağınızdaki herhangi bir bilgisayarın sayfa açmasını ve mevcut koşulları görüntülemesini sağlar. Arduino kodu için bu sayfaya bakın: http://arduino.cc/en/Tutorial/WebServer

Tarihsel sıcaklık / rüzgar hızı bilgilerini de kaydetmek istiyor musunuz? Bu en iyi bölüm! Gateway Arduino, verilerinizi görselleştirmek / grafiklemek için size şık bir yol sunan ücretsiz bir web tabanlı veri toplama hizmeti olan Xively gibi bir hizmete veri gönderebilir. Wiznet'i nRF24L01 modülü ile birlikte kullanmak için küçük bir hıçkırık var. Kablosuz modül ve ethernet kalkanı hem iletişim kurmak için aynı veri yolunu kullanır, hem de aynı anda nasıl kullanabileceğinizi görmek için bu bloga bir göz atın:

http://www.heald.ca/content/arduino-ethernet-nrf24l01-and-pachubecosmxively

Xively ayrıca, bu verileri herkese açık veya gizli hale getirmenize izin verir, böylece meteoroloji istasyonu verilerinizi topluma katkıda bulunmayı seçebilirsiniz.

Diğer bazı notlar: nRF24L01 + modüllerini severim çünkü kirleri ucuzdur. Xbee modülleri, Arduinos'un kendisinden daha pahalı. Ağ geçidi kurduktan sonra evin etrafına nRF24L01 + modülleri eklemeye devam edebilirsiniz. Aynı maliyet sorunu wifi kalkanı ile de var - pahalı.



0

ESP8266 wifi modülünü kontrol edin, ucuz bir modül ve AT komutları ile herhangi bir mikrokontrolcüyü kullanarak kontrol edilebilir, ayrıca Soc'u bağımsız olarak kullanabilirsiniz.


0

ESP8266 AT cmd setini kullanmak zordur ve hataya açıktır. ESP8266-01'i burada açıklandığı gibi bir UART-WiFi köprüsü olarak geri döndürmenizi öneririm ESP8266 Wifi Arduino için basitleştirildi Basitleştirildi

Ayrıca, kurulumun, ESP8266-01'i yeniden programlamadan wifi ayarlarınızı yeniden yapılandırmanıza izin verdiğini unutmayın.


0

ESP8266 siperinin kullanılması hataya açıktır, parlaması gereken bir güncelleme gerektirir, bir miktar lehimleme gerekir ve bir üretim ortamı için uygun değildir. Ayrıca, güç kaynağıyla ilgili sorunlar var, çünkü ayrı bir 3.3V güç kaynağına ihtiyacınız var . 2016 (!) Ve şimdi bir sürü seçenek daha var.

"UNO WiFi kurulu, entegre WiFi içeren Arduino UNO'dur." http://www.arduino.org/products/boards/arduino-uno-wifi

ve

"Star Otto, WiFi özellikli STM32F469 işlemciye sahip ilk Arduino kurulu." http://www.arduino.org/products/boards/arduino-star-otto (Aslında, Ekim ayından itibaren hala mevcut değil, "Yakında geliyor").

Lütfen bu iki kurulun DİĞER Arduino organizasyonuna ait olduğunu unutmayın.


0

IoT projemdeki birkaç denemeden ve hatadan sonra , projenizin kapsamını iyi bildiğiniz durumlar dışında ESP32 üzerinde ESP8266 (ve ayrıca Arduino Uno & Nano) üzerinde çalışmanızı tavsiye ederim .

ESP32'nin ESP8266'ya göre avantajları:

  1. Daha büyük RAM, ESP8266: 32KB talimatı ve 80 KB kullanıcı verileri, ESP32: 520 KB

Bir IoT projesi üzerinde çalışıyorum ve bir sertifika kullanarak cihazı GCP'de doğrulamaya çalışıyorum. GCP'nin kök sertifikası zaten yaklaşık 120 KB olduğundan ESP8266'ya uymuyor. Alternatifler var ama bu işleri karmaşıklaştırıyor.

  1. ESP32 bluetooth var ve ESP8266 değil

IoT projenizin bir noktasında, cihazınızı telefonunuza bağlamak için bluetooth isteyebilirsiniz ...

  1. ESP32'nin bazı sürümlerinde kamera için entegre bağlantı noktaları vardır (arama ESP32 CAM)

ESP8266 ile kesinlikle bir kamera kullanabilirsiniz ancak bu daha fazla kodlama ve kablolama ve potansiyel olarak daha kötü performans gerektirecektir.

Sonunda, Arduino Uno & Nano ile bir wifi çip bağlamaya çalıştım, ancak AT komutları ile ilgili bazı hatalar ve sorunlarla karşılaştım. Bu yüzden şimdi ESP32 ile çok mutluyum çünkü her şey entegre.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.