Bu mimari uygulanabilir ve esnek mi?


9

Projemin gerçekten mümkün olduğundan emin olmakla ilgili bir sorunum var.

Arşivlemek istediklerim: Senseo kahve makinemi internet üzerinden kontrol et. Sadece 2 düğmeyi kontrol etmek için kaynar.

İlk kolay çözüm:

  1. Raspberry Pi cihazımda bir NodeJS sunucusu kur.
  2. Kahve makinesi düğmelerini kontrol etmek için Ahududu GPIO'larımı 2 transistöre takıyorum
  3. Raspberry GPIO'yu doğrudan Javascript'te kontrol edebilirim. Örneğin, http://myraspberrypi.com/makemeacoffee çağrısı GPIO'yu etkinleştirir, düğmeleri etkinleştirir ve kahve akar

Ama: Ahududuumu kahve makineme takmak istemiyorum (Pi'ye başka amaçlar için ihtiyacım var) ve web sunucusunu ve kontrolörün kendisini ayırmanın iyi bir fikir olduğunu düşünüyorum. Yarın banyomun sıcaklığını izlemek ya da ikinci bir kahve makinesini (başka bir ESP8266 kullanarak) kontrol etmek istersem, her şeyi yeniden düşünmeden yapmak istiyorum.

Ne bir Wi-Fi başsız denetleyici olarak kullanmak için NodeMCU ile ESP8266 olduğunu arşivlemek için gerekenler ( bu bağlantıya bakın ). Ahududu GPIO artık kullanılmıyor (mesele bu). Pi'de sadece bir NodeJS web sunucusu var.

İşte mimarinin hızlı bir taslağı: Bu mimari uygulanabilir mi?

Ana bileşenlerin rolünü açıklayayım:

  • Raspberry Pi: NodeJS web sunucusunu barındırır
  • NodeJS web sunucusu: Web sayfalarını son kullanıcıya sunar. Temelde "Bana kahve yap" düğmeli bir sayfa. Sahnenin arkasında, su düğmesine "basmak", 30 saniye beklemek ve sonra kahve düğmesine "basmak" gerekiyor. Web sunucusu bunu ESP8266'ya (Wi-Fi üzerinden) HTTP istekleri göndererek yapar. NodeJS sunucusu günlük kaydı ve veri analizi de yapıyor (bu yıl kaç kahve içtiniz?)
  • ESP8266: NodeMCU kullanır. GPIO'ları, kahve makinesi düğmelerini kontrol eden bir transistöre takılır. ESP8266'ya nasıl güç verileceği umurumda değil. Raspberry Pi isteklerini dinlemek ve buna göre GPIO'lar üzerinde eylemler yapmak için bir web sunucusu çalıştırır.

Bu mimari uygulanabilir mi? Bu mimari esnek mi?


EDIT, Sean Houlihane (direği nispeten kısa tutmak için spoiler) cevaplamak için:

Bundan% 100 emin değilim, ama bir transistör yeterli gibi görünüyor. Kahve makinesi anahtarı düşük voltajda (3,3V) çalışıyor ve ESP8266, zemini kahve makinesiyle paylaşmıyor.

Sıcaklık algılama ve su seviyesi kontrolü hakkında, Senseo kahve makinesi bu yerleşiktir. Tipik kullanım: Isınma işlemini başlatmak için orta düğmeye basın, "tek" veya "çift" düğmesine basarak kahve boyutunuzu seçin. Isıtma işlemi sona erdiğinde, kahve akmaya başlar. Yeterli su yoksa, söner ve bir LED yanıp söner.

Beklediğim ilerleme:

  • Sürüm 1.0 "Sadece kahve makinesini çalıştırın, hazır olduğuna eminim" olacaktır. Tek fincan düğmesini ve ısıtma düğmesini kontrol ediyorum.
  • Sürüm 2.0 "Makineyi çalıştırın ve bana geri bildirim verin" olacaktır. Geri bildirim LED'ine takılı olan başka bir ESP8266'ım vardı (Böylece ne zaman ısındığını ve ne zaman su bittiğini öğrenebiliyorum) ve başka bir ölçek fincan kahve makinesini çalıştırmadan önce orada. Kahve makinesi çalıştırıldığında kullanıcıya kapsülü değiştirmesini bildirmek için bir uyarı da ekleyebilirim.

  • Sürüm 3.0, mekanizmanın bir tür anahtarla açılmasını izleyerek bölmenin değiştirilip değiştirilmediğini anlamanın bir yolunu bulmak olacaktır. Ama bu şu anda projemin kapsamı dışında.


Merhaba ve Nesnelerin İnterneti'ne hoş geldiniz! Sizi bu soruyu (her şey yolunda) taşımaya ikna etmeye çalışmasam da, sizi raspberrypi.stackexchange.com'a davet etmek istiyorum. Raspberry Pi :)
Ghanima

@Ghanima Bu sitenin varlığının farkındayım, şu an "topluluğa katıldım", teşekkürler
Etsitpab Nioliv

2
HTTP? HTCPCP kullanıyor olmalısınız .
JAB

Yanıtlar:


5

Önerdiğiniz mimari iyi görünüyor. Bunun üzerine, kimlik doğrulama ve sanitasyon talebi gibi daha fazla işlevsellik oluşturabilirsiniz (örneğin günün saati kontrolleri, hız sınırlaması, vb.).

Muhtemelen uygulamada henüz incelemediğiniz bazı önemli detaylar vardır. Örneğin, transistör anahtarı - bunun bir mosfet, belki bir röle (veya katı hal rölesi) olması gerekebilir ve voltaj ve izolasyon sorunları olabilir.

Dikkate alınması gereken daha fazla şey, sıcaklık algılama, su seviyesi (kontaminasyona dikkat edin) ve diğer özellikler. RGB pod izleme (bu onu tek kullanımlık bir makine yapar mı, yoksa pod değiştirilmemiş bir alarma mı ihtiyaç duyar?)


1
Son hedef ve oraya
ulaşma
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.