Yeni: Yapay zekâ güvenlik duvarı tüm platformu izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

Ofis içecek makinesinde satışları sayma: her satışı mı yoksa toplam sayacı mı göndermeli?

Ofis içecek makinesinde satışları sayma: her satışı mı yoksa toplam sayacı mı göndermeli?

Çözüldü 6 5

Yapay zekâ tarafından English dilinden çevrildi ·

Eğlenceli bir yan proje. Early 80s’te ağ üzerinden stok bildiren üniversite Coke makinesinin eski hikayesini okudum ve aynı şeyi ofisteki içecek makinesi için de yapmak istedim (eski Sanden ünitesi, konuşmaya değer bir elektroniği yok).Her iki altı kolonun da boşaltma kanalına bir mikroswitch koydum ve bir Wemos D1 mini’ye bağladım. Düşüşleri sayıyor. Şimdi Hermetry’ye ne göndereceğimi bilmiyorum. Seçenek 1: her satışta {“col3”: 1} gönder. Seçenek 2: kolon başına çalışan bir toplam tut ve her 5 dakikada bir gönder. Günlük satış grafiği istiyorum ve bir kolonun muhtemelen ne zaman boşaldığını bilmek istiyorum (Pazartesileri dolduruyoruz, kolon başına 40 kutu).İnsanlar bunu genelde hangi yöntemle yapıyor?

♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Ne yaparsanız yapın, mikro anahtarın sıçramasını (debounce) önleyin. Bir teneke kutu bir oluktan aşağı zıplayarak size 3 sayım verebilir.

♥ 2

Yapay zekâ tarafından English dilinden çevrildi ·

Bu makinelerin bazılarında satışları düzgün raporlayan dahili bir MDB veri yolu bulunuyor; daha fazla delik açmadan önce bir bakmaya değer olabilir.

♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Wemos yeniden başlatıldığında çalışan toplam ne olacak? Temizlikçiler fişi çektiğinde elektrik kesintisi olur, bahse girerim.

Timestamps in UTC or it didn't happen.
♥ 2

Yapay zekâ tarafından English dilinden çevrildi ·

Her seferinde sıfırdan başlıyor. Bunu hiç düşünmemiştim. Bu makinede MDB yok, kontrol ettim, benden daha eski.

♥ 1

Yapay zekâ tarafından English dilinden çevrildi ·

Bunu iki binamızdaki çamaşır makineleri için (jeton sayımları) yaptım, bu yüzden programcı olmasam da bende işe yarayan yöntemi anlatayım.Her sütun için çalışan toplamı, birkaç dakikada bir, düz sayılar olarak gönderin:

{"vend.col1": 1834, "vend.col2": 977, "vend.col3": 2210, ...}

Sonra grafik kartında “increase” toplama işlevini seçin. Bu, sayaçlar için tasarlanmış: her aralık, sayacın ne kadar arttığını gösterir ve kart yeniden başlatma nedeniyle değer düşerse, devasa bir negatif değer yerine sıfırdan saymaya başlar. Yani aynı aralık içinde iki kez yeniden başlatıp eski değerin üzerine çıkmadığınız sürece yeniden başlatma bir şeye mal olmaz.Her satış için {“col3”: 1} göndermek de “sum” ile çalışır, ancak bir mesaj kaybolursa sayım kalıcı olarak gider. Toplamlarla bir sonraki mesaj eksiği kapatır.Beni şaşırtan bir nokta: gün aralıkları UTC günleridir. Biz Doğu saatine göre çalışıyoruz, bu yüzden “günlük” çubuklarım akşam 7 ya da 8’de bölündü. Yerel günler için saatlik aralıklar kullanın ve saatleri toplayın, ya da buna katlanın.”Muhtemelen boş” durumu için: ikmal anındaki toplamı saklayın (ben bunu Pazartesi günü cihaz sayfasından sütun başına bir sunucu özniteliği olarak yazıyorum) ve toplamın bundan farkı yaklaşık 38’i geçtiğinde uyarı verin. Bu kısmı bir akışta yapıyorum, çünkü bir alarm koşulu iki değer arasında aritmetik yapamaz.Sayfa: Aggregates and rollups.

Timestamps in UTC or it didn't happen.
Kabul edilen çözüm♥ 8

Yapay zekâ tarafından English dilinden çevrildi ·

5 dakikada bir çalışan toplamlara ve 1 saatlik gruplara göre “increase” kullanmaya geçtim. Bilerek iki kez fişi çektim ve grafik hiç oynamadı. Jason da haklıymış, 4. sütun 150 ms debounce ekleyene kadar üç kez sayıyordu. Boş sütun uyarısı gelecek haftasonunun işi.

♥ 2
7 yazı görüntüleniyor – 1 ile 7 arası (toplam 7)
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.

Sohbete katılın

Soru sormak ve yanıtlamak, yararlı gönderileri beğenmek ve sorununuzu çözen yanıtı işaretlemek için oturum açın. Her katkı puan ve seviye kazandırır.

Paylaş