james56
@james_p56 · Ağustos 2026 tarihinde katıldı
Automation engineer · manufacturing
- Konular
- 2
- Yanıtlar
- 14
- Puan
- 0
Oluşturulan forum yanıtları
Yapay zekâ tarafından English dilinden çevrildi ·
Daha küçük bir filoda bunu komutlarla yaptık ve bir ünite her komutu kaçırdığında bu her seferinde bir karmaşaya dönüştü. Hangi ünitelerin hangi rapor aralığına sahip olduğunu kimse söyleyemiyordu.
We did it with commands on a smaller fleet and it was a mess every time a unit missed one. Nobody could tell which units had which interval.
Yapay zekâ tarafından English dilinden çevrildi ·
Paletleme ekranımızı, bant genişlikleri gerçek bantlarla eşleşecek şekilde yeniden oluşturduk. Bizim için çalışıyor.
Rebuilt our palletising screen with the belt widths set to match the real belts. Works for us.
Yapay zekâ tarafından English dilinden çevrildi ·
Hayır, Uno ikisini de kaldırır. Ancak röle nasıl besleniyor ve topraklar nerede birleşiyor? Zıplayan okumalar ve kaybolan port, besleme değil vanaya benziyor.
No, the Uno handles both. But how is the relay powered, and where do the grounds meet? The jumping readings and the disappearing port sound like the valve, not the supply.
Yapay zekâ tarafından English dilinden çevrildi ·
DTR, eski modem kontrol hatlarından biridir. Uno’da bu hat 100 nF’lık bir kapasitörden geçerek reset pinine bağlanır; böylece IDE, yüklemeden önce kartı resetleyebilir. Portu açan her program DTR’yi değiştirir ve kart resetlenir. Geçen yıl işte bir satır sayacında aynı sorunla uğraştım.Yazılım tarafında iki şeyi birlikte yapın:
stty -F /dev/ttyUSB0 -hupcl # don't drop DTR when the port closes
ser = serial.Serial()
ser.port = '/dev/ttyUSB0'
ser.baudrate = 9600
ser.timeout = 2
ser.dtr = False
ser.open()
Şunu da bilin: Linux’ta sürücü, önyüklemeden sonraki ilk açılışta DTR’yi bir an için yine yükseltebilir; yani bu yöntem resetleri azaltır ama her zaman tamamen önlemez.Kesin çözüm donanımsal: Uno’da RESET ile GND arasına, eksi GND’ye gelecek şekilde 10 µF’lık bir kapasitör koyun. Bu, reset darbesini bastırır. Ancak yeni firmware yüklerken bunu çıkarmanız (veya doğru anda resete elle basmanız) gerekir.Toplam değerdeki kayıplar için: sayımı her birkaç dakikada bir EEPROM’a da kaydedin ya da Uno’nun önyüklemeden değil, firmware yüklendiği andan itibaren çalışan toplamı göndermesini sağlayın. Böylece bir reset, toplamın tamamını değil, yalnızca birkaç darbeyi kaybettirir.
DTR is one of the old modem control lines. On the Uno it goes through a 100 nF capacitor to the reset pin, so the IDE can reset the board before an upload. Any program that opens the port toggles DTR, so the board resets. I fought this on a line counter at work last year.
Software side, two things together:
stty -F /dev/ttyUSB0 -hupcl # don't drop DTR when the port closes
ser = serial.Serial()
ser.port = '/dev/ttyUSB0'
ser.baudrate = 9600
ser.timeout = 2
ser.dtr = False
ser.open()
Be warned that on Linux the driver may still raise DTR for a moment on the very first open after boot, so this reduces resets, it doesn’t always kill them.
The sure fix is hardware: a 10 µF capacitor between RESET and GND on the Uno, minus to GND. That swamps the reset pulse. You then have to pull it out (or press reset by hand at the right moment) when you upload new firmware.
And for the drops in your total: also keep the count in EEPROM every few minutes, or have the Uno send a running total since it was flashed instead of since boot. A reset then costs you a few pulses, not the whole total.
Did this for a roof inspection drone, so here’s what I ended up with.
On the Pi, pymavlink reads the MAVLink stream from TELEM2. You only need two messages: GLOBAL_POSITION_INT (lat/lon in 1e7 degrees, relative altitude in mm) and SYS_STATUS (battery voltage in mV). Once a second, publish a flat object over MQTT with TLS:
from pymavlink import mavutil
m = mavutil.mavlink_connection("/dev/serial0", baud=921600)
state = {}
while True:
msg = m.recv_match(type=["GLOBAL_POSITION_INT", "SYS_STATUS"], blocking=True)
if msg.get_type() == "GLOBAL_POSITION_INT":
state.update(lat=msg.lat / 1e7, lng=msg.lon / 1e7, alt_m=msg.relative_alt / 1000)
else:
state["batt_v"] = msg.voltage_battery / 1000
if time.time() - last >= 1:
client.publish("v1/telemetry", json.dumps(state), qos=1); last = time.time()
Name the keys lat and lng, that’s what the Map card looks for by default.
On the board, a Map card. Bind Points to the drone’s latest values (lat, lng), and that’s your live marker. Bind Routes to Device readings over time with the keys lat,lng, and turn on Replay controls. The client can play the flight back at 1x to 10x and scrub. Add a value card for battery and altitude next to it. Satellite map style helps them see the panel rows.
1 message a second is far inside the default per-device limits. And keep it read-only: no commands from the board to the drone, the pilot flies it.
Yapay zekâ tarafından English dilinden çevrildi ·
Bir röle (relay) özelliği yok mu? Gateway listesinde bir yerde ‘Pending’ adında bir gateway durumu gördüğümden eminim.
Isn’t there a relay feature? I’m sure I saw a gateway status called Pending somewhere in the gateway list.
Yapay zekâ tarafından English dilinden çevrildi ·
Yıldız topoloji kopma sorununun kaynağı. 1-wire kısa dallanmalardan (stub) hoşlanmaz; her uç yansıma yapar. Ya her sensörün yanından tek bir hat geçirip çok kısa dallanmalar kullan, ya da hattı böl: overlay’i iki farklı pinde iki kez yükleyerek iki daha kısa bus elde edebilirsin. Bu kadar uzun kabloyla 4.7k yerine 2.2k denemenizi de öneririm.
The star is your dropout problem. 1-wire hates stubs, every leg reflects. Either run one line past every probe with tiny stubs, or split it: you can load the overlay twice on two pins and have two shorter buses. I’d also try 2.2k instead of 4.7k with that much cable.
Yapay zekâ tarafından English dilinden çevrildi ·
disable-bt ve konsolun kaldırılması sorunu çözdü. Gece boyunca 600 sorgu, sıfır CRC hatası, sıfır zaman aşımı. Görünüşe göre ttyAMA0 üzerinden hiçbir işe yaramayan bir şeyle konuşuyormuşum ve script yeniden deneme mekanizmasına geçiyormuş, bu da bazen başarısız oluyormuş. serial0’a geçirdim. Kevin, ttyAMA, USB değil, ARM PL011 adlandırmasıdır.
disable-bt plus removing the console did it. 600 polls overnight, zero CRC errors, zero timeouts. I was on ttyAMA0 talking to… nothing useful apparently, and the script fell back to retries that sometimes hit. Changed it to serial0. Kevin, ttyAMA is the ARM PL011 naming, not USB.
Yapay zekâ tarafından English dilinden çevrildi ·
Bu sitelerde VPN yoktur, sanırım; panel özelliğinin amacı da bu zaten.Yönlendirici A: bunu Hermetry’den değiştiremezsiniz, bu tasarım gereğidir. “Panel erişimine bulut hesabımdan izin ver” seçeneği, yönlendirici sahibinin yerel onayıdır ve yalnızca yönlendiricinin kendi Cloud sayfasında bulunur. Sahada birinin bunu bir kez açması gerekir. Bir çiftçiyle telefonda birlikte yaptık, beş dakika sürdü: LAN üzerindeki bir dizüstü bilgisayardan yönlendiricinin yerel paneline giriş yapın, Cloud sayfasına gidin ve anahtarı işaretleyin. Bundan sonra Paneli aç her yerden çalışır.Yönlendirici B: yaklaşık yazılım panel oturumları için çok eski. Hermetry’nin firmware sayfasından güncelleyin. Bu kadar uzaktaki bir yönlendirici için, bir dalganın parçası olarak değil, ayrı olarak önce onu güncellerim; mobil bağlantıdaysa Firmware sekmesindeki LTE üzerinden güncellemeler ayarını kontrol edin. Lisanslı cihazların yerel onay ve ölçülü bağlantı kuralları vardır, bu yüzden izin verilene kadar Beklemede kalabilir.Çalıştığında akılda tutulacak birkaç şey. Yönlendirici LTE üzerindeyse oturumun en fazla 50 MB kullanabileceğine dair bir onay alırsınız, ardından oturum kapanır. Oturumlar 30 dakika kullanılmazsa ya da toplamda 4 saat sonra sona erer. Oturumu yalnızca açan kişi içeri girebilir, bu yüzden bir meslektaş kendi oturumunu açar. Panelin içinde neyi değiştireceğiniz size kalmış; paneli açmak hiçbir şeyi değiştirmez.Tüm red mesajları Remote access to a router’s panel sayfasında listelenmiştir.
No VPN at those sites I’d bet, that’s the point of the panel feature.
Router A: you can’t switch that from Hermetry, by design. “Allow panel access from my cloud account” is the router owner’s local consent and lives only on the router’s own Cloud page. Someone on site has to turn it on once. We had a farmer do it with me on the phone, it took five minutes: log into the router’s local panel from a laptop on the LAN, Cloud page, tick the switch. After that Open panel works from anywhere.
Router B: the firmware is too old for panel sessions. Update it through Hermetry’s firmware page. For a router that far away I’d do it on its own first, not as part of a wave, and check its Firmware tab for the Updates over LTE setting if it’s on the mobile uplink. Licensed devices have local approval and metered-link rules, so it may sit in Waiting until those allow it.
Couple of things for when it works. If the router is on LTE you get a confirm that the session may use up to 50 MB and is then closed. Sessions end after 30 minutes without use or 4 hours total. Only the person who opened a session can enter it, so a colleague opens their own. And what you change inside the panel is up to you, opening it changes nothing.
All the refusal messages are listed on Remote access to a router’s panel.
Yapay zekâ tarafından English dilinden çevrildi ·
Sorun buydu, pompa panosunu doğrudan yer imlerine eklemişlerdi. Çözüldü, teşekkürler.
That was it, they had the pump board bookmarked directly. Sorted, thanks.
Yapay zekâ tarafından English dilinden çevrildi ·
Open a board sonrasında geri dönmenin bir yolu var mı? Operasyon ekibimiz üç pano derinliğine iniyor ve sonra baştan başlamak için sekmeyi kapatıyor.
Is there a way back after Open a board? Our ops people end up three boards deep and then close the tab to start over.
Yapay zekâ tarafından English dilinden çevrildi ·
Altı müşteri için plant izlemeyi bu şekilde yürütüyorum, o yüzden işe yarayan kurulumu anlatayım.Her müşteri şirketi için bir organizasyon. Tek bir hesabınız olur ve her birinin Admin üyesi olursunuz; organizasyon seçicisinden aralarında geçiş yaparsınız. Müşterinin çalışanları User olarak davet edilir. User; cihazları, profilleri, panoları ve alarmları görebilir, alarmları onaylayabilir, temel komutlar gönderebilir ve kişisel paneller oluşturabilir. Akışları görüntülemek Admin yetkisi gerektirir (yetki automation.read), bu yüzden Script bloğunuz onların görüşünden uzak kalır. Müşteriye “sadece bir dakikalığına” bile Admin vermeyin.Paneller: Bunları bir şablon organizasyonunda bir kez oluşturun, paneli dosya olarak indirin ve her müşteri organizasyonuna içe aktarın. Akışlar panel dosyasıyla taşınmaz, bu yüzden akışı ayrıca taşıyorsunuz: akış listesindeki satır menüsünden Export ile dışa aktarın ve her müşteri organizasyonunda Import ile içe aktarın (gizli bilgiler yeniden yazılmalı ve içe aktarılan akışlar kapalı gelir). 4 organizasyonla Script bloğu kodunu ayrıca git’te tutuyorum; her değişiklik 10 dakikalık bir iş. Bu zahmetli hale gelirse, dozaj hesabını firmware’e taşıyıp dose_g değerini telemetri olarak göndermeyi düşünün; böylece mantık tek bir imzalı imajda yaşar.Firmware: Laura’nın dediği gibi, pipeline’ınızda Ed25519 ile imzalayın, genel anahtarı Firmware sayfasına kaydedin ve Allow unsigned images seçeneğini kapalı tutun. Böylece imzasız veya yeniden imzalanmış imajlar yükleme kontrolünde reddedilir.Rol tablosu Users and roles sayfasında. Logonuzla markalama da organizasyon bazında yapılır; ürününüz gibi görünmesini isterseniz kullanabilirsiniz.
I run plant monitoring for six customers this way, so here’s the setup that’s held up.
One organisation per customer company. You keep one account and are a member of each, with Admin, and switch between them from the organisation picker. The customer’s people are invited as User. A User can see devices, profiles, dashboards and alarms, acknowledge alarms, send basic commands and build personal boards. Viewing flows needs Admin (the permission is automation.read), so your Script block stays out of their sight. Never give a customer Admin “just for a minute”.
Dashboards: build them once in a template org, download the board as a file and import it into each customer org. Flows don’t travel in the board file, so you bring the flow over separately: Export it from the row menu on the flow list and Import it in each customer org (secrets have to be typed in again, and imported flows arrive switched off). With 4 orgs I keep the Script block code in git as well, it’s a 10-minute job per change. If that gets painful, think about moving the dosing calculation into the firmware and sending dose_g as telemetry; then the logic lives in one signed image.
Firmware: what Laura said, sign with Ed25519 in your pipeline, register the public key on the Firmware page, and leave Allow unsigned images off. Unsigned or re-signed images are then refused by the upload check.
The role table is on Users and roles. Branding with your logo is per organisation too, if you want it to look like your product.
Yapay zekâ tarafından English dilinden çevrildi ·
Linux makinemde kutudan çıktığı gibi çalışıyor, Mac’i hiç denemedim.
Works out of the box on my Linux machine, never tried a Mac.
Thanks. Do I need to buy a library for the electrical side, or is there something in the base set for meters and breakers?

