Arduino ve node.js'yi nasıl kullanırım?


9

Arduino'da yeniyim, ancak web geliştirme konusunda deneyime sahibim, son zamanlarda kullanıyorum, meteor js ve farklı projeler için ortalama yığın. Ancak, geliştirme için herhangi bir dili denemeye açıkım.

Yapmaya çalıştığım, web üzerinden Arduino'daki LED'i kontrol etmek için basit bir uygulama oluşturmak.

Başka biriyle çalışıyorum ve Arduino bir güvenlik duvarının arkasında olacak, bu yüzden internete nasıl erişeceğimi bilmiyorum. Evde test için kullanabileceğim, köprü yoluyla linio bağlı olan ve bunun ne yaptığını tam olarak anlamadığım bir Arduino Uun'a erişimim var.

Ben de duydum bu , ancak üçüncü taraf mümkün olduğu kadar kendim yapabilirim kurar uzak durmasını istiyorum.

Güvenlik duvarının arkasındaki bir Arduino ile bunu yapmanın yaygın yolu nedir? Bunu bir Arduino Yun ile nasıl yapabilirim? Yun ile daha kolay mı?

Yanıtlar:


9

Harici cihaz (mobil) ile iletişim kurmak için internet kullanan benzer bir proje üzerinde çalışıyorum. Sensörlerden veri okuyorum ve bunları web soketleriyle web üzerinden geçiriyorum. Bu proje ve Spacebrew (web soketleri iletişimi için) için Arduino Yun kullanıyorum. Çok ilginç bir yaklaşım ama bazı durumlarda oldukça zorlayıcı. Muhtemelen asenkron / senkronize bir sorunla karşılaşacaksınız, bu da benim durumumda, İşleme kodundan tetiklenen Yun üzerinde bazı Python komut dosyalarını çalıştırmamı sağlıyor. Şu anda VPN'de Spacebrew sunucusu kullanıyorum, böylece Yun'umu evde bırakıp okumaları almak için her yerden iphone'umu kullanabilirim.

Yun'un web iletişimi için harika bir başlangıç ​​noktası olan önceden yüklenmiş Temboo kütüphanesiyle birlikte geldiğini de belirtmek gerekir. Yapılandırma gerçekten kolay ve hızlı. Ayrıca resmi belgeleri çok kullanışlı ve kolay anlaşılır bulacaksınız. Arduino Yun ile entegre web benzeri uygulamaları denemek için gerçekten harika bir başlangıç ​​noktası.

Spacebrew

  • http://docs.spacebrew.cc/

    Spacebrew, etkileşimli alanların koreografisini oluşturmak için açık, dinamik olarak yeniden yönlendirilebilir bir yazılım araç takımıdır. Başka bir deyişle, etkileşimli şeyleri birbirine bağlamanın basit bir yolu. Sisteme bağladığınız her öğe veri feed'lerine abone olabilir ve yayınlayabilir.

  • http://github.com/Spacebrew/pySpacebrew

    Bu repo, belgeler ve örnek uygulamalarla birlikte Python için Spacebrew Kütüphanesi'ni içerir.

  • http://github.com/julioterra/yunSpacebrew

    Spacebrew Yun kütüphanesi iki ana bileşene sahiptir - linino üzerinde çalışan bir dizi python betiği ve atmel çip üzerinde çalışan bir kütüphane. Spacebrew'a bir Arduino taslağından bağlanabilmeniz için bu bileşenlerin her ikisinin nasıl kurulacağıyla ilgili bilgileri bulabilirsiniz.

Temboo

Yun da Temboo kütüphanesinde inşa etti, denemeye başlamak için harika bir yoldur, konsepti kanıtladıktan sonra, ortamınızı daraltmaya ve 3. taraf yazılım kullanmak istemiyorsanız uzaklaşmaya başlayabilirsiniz.

  • http://www.temboo.com/arduino

    Temboo Kütüphanesi, İşleme ile 100'den fazla web tabanlı kaynağa ve hizmete bağlanmayı kolaylaştırır. Şu anda Android, Arduino, iOS, Java, Node.js, PHP, İşleme, Python, REST API, Ruby, Twyla için kütüphaneler bulabilirsiniz.

node.js

Ayrıca, Yun'un kendisinde node.js dosyasını da çalıştırabilirsiniz, işte iyi makale ve kuruluma hazır bazı paketler:

Arduino Yun için köprü kütüphanesi nedir?

Ayrıca Bridge kütüphanesini de sordunuz. Bildiğiniz gibi Yun'un iki işlemcisi var, biri İşleme kodunuzu çalıştırıyor, diğeri üzerinde Linux var (Linino). Bridge temel olarak aralarındaki iletişimi basitleştirir, böylece birbirleriyle daha fazla bilgi "konuşabilir":

  • http://arduino.cc/en/Reference/YunBridgeLibrary

    (Arduino.cc dokümanlarından alınmıştır :)

    Arduino Yún'un iki işlemcisi var. Bunlardan biri Arduino Leonardo'daki gibi bir ATmega32U4. Diğeri, Linux ve OpenWRT kablosuz yığını çalıştıran ve kartın WiFi ve Ethernet ağlarına bağlanmasını sağlayan bir Atheros 9331'dir. Arduino üzerinden çeşitli internet servislerine bağlanmak için Linux sistemindeki programları veya özel komut dosyalarını aramak mümkündür.

    Bridge kütüphanesi, ATmega32U4 ve AR9331 arasındaki iletişimi kolaylaştırır. Akıştan miras alır ve yöntemlerin çoğu, Seri ve diğer Akış türevlerinden aşina olmalıdır.

    32U4'teki köprü komutları, AR9331'de Python tarafından yorumlanır. Rolü, Arduino tarafından sorulduğunda GNU / Linux tarafında programlar yürütmek, Arduino ve İnternet arasında sensör okumaları gibi verileri paylaşmak ve Internet'ten komut almak ve doğrudan Arduino'ya aktarmak için paylaşılan bir depolama alanı sağlamaktır.

    Köprü, Linino komut satırına bir arabirim görevi gören her iki yönde iletişime izin verir.

Nereden başlamalı?

Sen olsaydım Temboo ile başlardım, harika bir öğrenme eğrisi ve başlamak için oldukça basit bir adım. Ayrıca kurulun nasıl çalıştığını ve "dış dünya" ile nasıl iletişim kurabileceğinizi öğrenecek ve anlayacaksınız. Kavram kanıtı olduktan sonra, farklı kütüphaneleri denemeye ve yaklaşımı geliştirmeye başlayın. Spacebrew'u daha sonra daha kullanışlı bulabilir veya hatta farklı çözümler keşfedebilirsiniz.


Arduino Stack Exchange'e hoş geldiniz! Cevabınıza daha fazla ayrıntı ekleyebilir misiniz? Tüm veya çoğunlukla bağlantı olan yanıtlar Yığın Değişimi'nde kabul edilemez, çünkü site kapanırsa yanıt işe yaramaz. Site bozulduğunda kütüphane işe yaramaz olduğu için kütüphanelere bağlantılar iyidir; makaleler ve öğreticiler başka kelimelerle yazılmalıdır. Belki sadece birkaç cümle alıntı ve bazı örnek kod eklemek? Teşekkürler!
Anonim Penguen

1

her şeyden önce ne yapmanız gerektiğini net olarak bilmeniz gerekir. Arduino UNO, seri (USB üzerinden) bağlantısı olan bir mikrodenetleyicidir. Arduino'nuzu internetten erişilebilir hale getirmek için internete bağlı olması veya köprü gibi davranan bir şeye sahip olması gerekir. Bir ethernet kalkanını kullanabilirsiniz, bir wifi cildi veya bir YUN cadı bir arduino UNO + ethernet ve wifi'ye sahip bir mikro linux (phyton'da programlanabilir veya çip özel köprü kütüphanesini kullanarak linux gönderme komutunu komut verebilir ) PC'de arduin'i usb ile bile bağlayabilir ve bir köprü programı oluşturabilir veya güvenlik duvarınız / yönlendiriciniz kilitsiz bir linux / benzeri ise kullanabilirsiniz.

Kaç seçenek ve biz onunla nasıl konuşacağına karar vermek için başlangıç ​​startint. Node.sj dosyasını kullanmak istediğinizde, soket veya get / post kullanabilirsiniz. Soketin kullanılması daha hızlı, daha hafiftir ve bir çekme bağlantısı oluşturabilir ve js gerekli olacaktır. Get / post ile js bile gerekmez, saf html formu yapacak.

daha sonra, cadı sistemini beğendiğinize karar verdikten sonra (http sunucusu veya düz soket olarak arduino) güvenlik duvarındaki / nat üzerindeki ilgili bağlantı noktasını açabilirsiniz. ama sadece son kısım


Bir yun'um var, onu kullanacağım. Wifi ve ssh aracılığıyla yun bağladım. Linux sunucusunu nasıl kurarım ve bir bağlantı noktasını nasıl açabilirim?
Anders Kitson

resmi öğreticiye bakın, zaten bir webv sunucusu var, sadece kendi sayfanızı eklemeniz gerekiyor :) scuola.arduino.cc/lesson/b4EoRkV/…
Lesto
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.