maker_busra
@busra-ozturk · Joined January 2026
Hobi elektronikçisi · ev otomasyonu · Eskişehir · sahada 19 yıl
- Topics
- 2
- Replies
- 19
- Points
- 0
Forum Replies Created
Worth filling in units and ranges on the Telemetry keys tab while you’re there. Since 2.3.0 a gauge takes its default scale from the range the profile declares, so our cold room gauges came out right without touching them.
Translated from Türkçe by AI ·
I collected each Pi’s wlan0 MAC and apartment number with the first-boot script, uploaded the CSV, and the check step said 25 rows are ready. I downloaded the token file right away; I had just copied the wrong token to one Pi, and I fixed it with Rotate secret. The MAC of two Pi 5s starts with 2C:CF:67, I noted the list too.
İlk açılış betiği ile her Pi’nin wlan0 MAC’ini ve daire numarasını topladım, CSV’yi yükledim, kontrol adımında 25 satır hazır dedi. Token dosyasını hemen indirdim, bir Pi’ye yanlış token kopyalamışım sadece, onu da Rotate secret ile düzelttim. İki Pi 5’in MAC’i 2C:CF:67 ile başlıyormuş, listeyi ben de not aldım.
Aslan Bey haklı. Evde 40’a yakın BLE sensörü tek Pi ile okuyorum, bağlanmadan.
BLE’de iki ayrı dünya var. Yayın (advertising): sensör kimseye bağlanmadan saniyede bir-iki kez küçük bir paket yayınlıyor, içinde sıcaklık ve nem var. Dinleyen sayısında sınır yok, sensör tarafında en az pil harcayan yol bu. Bağlantı (GATT): Pi sensöre bağlanıp karakteristik okuyor. Bağlantı sayısı adaptöre göre sınırlı (Pi’de pratikte 7-10), her bağlantı iki tarafta da enerji harcıyor. Eşleştirme (pairing/bonding) bağlantının üstüne şifreleme ekliyor; ayar yazmak veya şifreli veri okumak için gerekiyor, sadece ölçüm okumak için gerekmiyor.
Bu tip sensörlerin çoğu ölçümü yayın paketinde de veriyor (bazıları özel firmware ile). bleak’te pasif tarama ile dinle:
from bleak import BleakScanner
son = {}
def cb(dev, adv):
if dev.address in SENSORLER:
t, h = coz(adv.service_data) # sensöre göre çözümleme
son[SENSORLER[dev.address]] = {"values": {"sicaklik": t, "nem": h}}
scanner = BleakScanner(detection_callback=cb)
Dakikada bir son sözlüğünü tek mesajla gönder: v1/gw/telemetry içinde her child adının altında bir kayıt. 30 sensör tek mesaj, kota açısından da iyi.
Dezavantaj: yayın şifresiz, yakındaki herkes okuyabilir ve taklit edebilir. Bazı firmware’ler şifreli yayın destekliyor (bindkey ile), ilaç gibi bir yer ise ona bakın.
Translated from Türkçe by AI ·
The name will be the apartment number (like d-12), I want it to stay next to the MAC. They are all connected via Wi-Fi, good thing you mentioned it Derya.
İsim daire numarası olacak (d-12 gibi), MAC yanında dursun istiyorum. Hepsi Wi-Fi’dan bağlı, iyi ki söyledin Derya.
Translated from Türkçe by AI ·
Has calibration been done? If hard iron and soft iron calibration has not been performed, different errors appear depending on the turning direction, and the left-right difference may come from that.
Kalibrasyon yapıldı mı? Hard iron ve soft iron kalibrasyonu yapılmamışsa dönüş yönüne göre farklı hata çıkar, sağ-sol farkı ondan olabilir.
Kelime sırasını anlamanın en kolay yolu: debimetrenin ekranında bilinen bir değer varken iki birleştirmeyi de yazdır, hangisi ekranla tutuyorsa o.
Bu tablo tam LoRaWAN’ın işi, iki GES sahasında aynısını kurdum. 320 m, panel arkası, pil, saatte birkaç ölçüm: LoRaWAN sensörü SF7-SF9’da rahat ulaşır, mesh’e ihtiyaç yok, 3 yıl pil gerçekçi. Türkiye EU868 bandında, Hermetry’de de frekans planı gateway’e göre gidiyor, EU868 gateway ve sensör alın.
Kurulum şöyle oluyor:
- Kontrol odasının çatısına (mümkünse direğe) bir Basics Station destekli dış mekan gateway. Hermetry’de LoRaWAN gateway olarak ekliyorsun, gateway
wss://ile dışarı bağlanıyor, gelen port açmana gerek yok. - Sensörleri OTAA olarak ekliyorsun. Kendi nRF52840 kartını kullanacaksan üstüne bir SX1262 koyup LoRaWAN yığını çalıştırırsın, ya da hazır sensör alırsın.
- Byte’ları değere çevirmek için kendi codec’ini yazıyorsun. Hermetry’de codec JavaScript değil, JSON tablo: byte konumu, format, ölçek. Test vektörü zorunlu.
Kendi gateway yazılımına göre farkı: gateway’in kodunu sen yazmıyorsun, join, ADR ve frame sayaçlarıyla ağ sunucusu uğraşıyor. Her sensör yine kendi cihazı olarak görünüyor, alarm ve pano aynı. Gateway ve her sensör plandaki cihaz sayısına dahil, 40 nokta + 1 gateway hesaplayın.
Başlangıç için: İlk LoRaWAN sensörünüzü bağlayın.
Kerem Bey harika olmuş, teşekkürler. Döngü özetine geçtim, yeni fırçalarla normal süre 11,8 s çıktı, limiti 14 yaptım. Eski motoru da denemek için bir haftalığına taktım: ikinci gün WARNING açıldı, süreler 15-16 s gidiyordu. Yani geçen kış bunu aylar önce görebilirmişim.
Hoş geldin Tuğba. Sensör DHT22 ise nemli odada bir süre sonra nemi yüksek okumaya başlayabiliyor, ona dikkat et. Bütçe el verirse SHT31 ya da BME280 uzun vadede daha düzgün okuyor. Kolay gelsin.
Oğuz Bey’e katılıyorum. ENC28J60 “aptal” bir çip, TCP/IP yığınının tamamı Uno’nun 2 KB RAM’inde dönüyor. UIPEthernet tek başına RAM’in büyük kısmını yiyor, üstüne Modbus tamponu gelince bağlantı açılıyor ama cevap oluşturulurken bellek bitiyor. Yıllar önce ev otomasyonunda aynı modülle aynı duvara çarptım, birkaç gün uğraştıktan sonra modülü çekmeceye attım.
Gerçekçi seçenekler:
W5500 (ya da W5100) modülü al. TCP/IP yığını çipin içinde, Uno’nun RAM’ini yemiyor, Ethernet.h ile çalışıyor, ArduinoModbus’ın ModbusTCPServer’ı da direkt derleniyor. Fiyat farkı birkaç kahve parası.
#include <SPI.h>
#include <Ethernet.h>
#include <ArduinoModbus.h>
EthernetServer server(502);
ModbusTCPServer modbus;
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0x00, 0x01};
void setup() {
Ethernet.begin(mac, IPAddress(192, 168, 1, 50));
server.begin();
modbus.begin();
modbus.configureHoldingRegisters(0x00, 3);
}
void loop() {
EthernetClient client = server.available();
if (client) {
modbus.accept(client);
while (client.connected()) {
modbus.holdingRegisterWrite(0, readTempX10(0)); // 23.4 °C -> 234
modbus.poll();
}
}
}
Ya da Uno yerine bir ESP32 kullan, RAM sorunu kalmıyor.
ENC28J60’ta ısrar edersen: Serial.print’leri F() ile flash’a al, kullanmadığın her şeyi çıkar, UIPEthernet ayar dosyasında soket sayısını 1’e indir. Çalışır hale gelebilir ama ders için sürekli takılan bir sistem istemezsin.
Bir de sıcaklığı float değil, 10 ile çarpılmış tamsayı olarak koy, Pi tarafında 10’a bölüp Hermetry’ye gönder. Pi’de pymodbus ile okurken adres 0’dan başladığını unutma, Modbus Poll’da “40001” gördüğün register kodda 0.
EU868’de görev döngüsünü de unutma, %1. Dakikada bir gönderen düğüm SF12’de bu sınırı aşar, SF7-SF9 civarında kal, ADR’yi açık bırak.
Translated from Türkçe by AI ·
If you’re not getting CONNACK, you’re stuck in the TLS handshake. There are two things in your command, and both cause that.First, you’re connecting by IP. Hermetry requires SNI, meaning the client has to send the server name during the handshake; when you connect by IP this doesn’t happen and the handshake fails. Use the host name from the Connection details card of your device, the address for your own region.Second, the mosquitto client on Windows does not use the system certificate store by default. In version 2.x there is --tls-use-os-certs, or you can pass a CA bundle you have with --cafile. On my first try I had forgotten both, and got exactly the same message.
mosquitto_pub -d -h <connection details'teki host> -p 8883 --tls-use-os-certs ^
-i test-pc-01 -u <token> -t v1/telemetry -q 1 -m "{"t":21.4}"
Once the connection opens, you’ll see the following errors (such as CONNACK 4, 5) in the device’s Log tab, along with their causes; the cause for 5 is never sent to the device, it is only written there. The table is here: Cihaz bağlanmıyor.
CONNACK gelmiyorsa TLS el sıkışmasında takılıyorsun. Komutunda iki şey var, ikisi de bunu yapar.
Birincisi IP ile bağlanıyorsun. Hermetry SNI istiyor, yani istemci el sıkışmada sunucu adını göndermeli; IP ile bağlanınca bu olmuyor ve el sıkışma düşüyor. Cihazın Connection details kartındaki host adını kullan, kendi bölgenin adresini.
İkincisi Windows’taki mosquitto istemcisi sistemin sertifika deposunu kendiliğinden kullanmıyor. 2.x sürümlerinde --tls-use-os-certs var, ya da elindeki bir CA paketini --cafile ile ver. Ben ilk denememde ikisini de unutmuştum, birebir aynı mesajı aldım.
mosquitto_pub -d -h <connection details'teki host> -p 8883 --tls-use-os-certs ^
-i test-pc-01 -u <token> -t v1/telemetry -q 1 -m "{"t":21.4}"
Bağlantı açılınca bundan sonraki hataları (CONNACK 4, 5 gibi) cihazın Log sekmesinde nedeniyle birlikte görürsün; 5’in nedeni cihaza hiç gönderilmiyor, sadece orada yazıyor. Tablo burada: Cihaz bağlanmıyor.
Translated from Türkçe by AI ·
Cheap CH340-based converters have no serial number, and both show up the same under by-id. In that case, use /dev/serial/by-path/; it stays tied to the USB port.
CH340’lı ucuz çeviricilerde seri numarası olmuyor, by-id’de ikisi aynı görünür. O durumda /dev/serial/by-path/ kullanın, USB portuna bağlı kalıyor.
Translated from Türkçe by AI ·
Last year I built almost the same thing in a vineyard. 2 km, no Wi-Fi, one measurement every 15 minutes; if it were me I would do it with LoRaWAN. You also have to choose the microcontroller together with the radio.The one I used was the RAK3172 module (it contains an STM32WL, the LoRa radio is on the same chip). In sleep it draws around 2-3 µA, and transmitting takes a few hundred milliseconds. With a small packet every 15 minutes, 2xAA comfortably lasts a year, especially if you power the sensor through a MOSFET only at the moment of measurement. I would not recommend the ESP32 for this job, because connecting to Wi-Fi alone drains the battery.On the Hermetry side: they have their own LoRaWAN network server, the frequency plan comes from the gateway (in Turkey you get an EU868 gateway and sensor), you add the device with OTAA, and Class A is enough. The only requirement is a LoRaWAN gateway that sees the area (a gateway that supports Basics Station, or a licensed router). If one is mounted on the faculty roof, 2 km is no problem. For a start, this page is good: İlk LoRaWAN sensörünüzü bağlayın.
Geçen yıl bir bağda neredeyse aynısını kurdum. 2 km, Wi-Fi yok, 15 dakikada bir ölçüm; ben olsam LoRaWAN ile yapardım. Mikrodenetleyiciyi de radyoyla beraber seçmek lazım.
Benim kullandığım RAK3172 modülüydü (içinde STM32WL var, LoRa radyosu aynı çipte). Uykuda 2-3 µA civarı, gönderim birkaç yüz milisaniye. 15 dakikada bir küçük bir paketle 2xAA bir yılı rahat çıkarır, sensörü de bir MOSFET ile ölçüm anında beslersen. ESP32’yi bu iş için önermem, Wi-Fi bağlanması tek başına pili yiyor.
Hermetry tarafı: kendi LoRaWAN ağ sunucusu var, frekans planı gateway’den geliyor (Türkiye’de EU868 gateway ve sensör alırsın), OTAA ile cihazı ekliyorsun, Class A yeterli. Tek şart, alanı gören bir LoRaWAN gateway olması (Basics Station destekleyen bir gateway ya da lisanslı bir router). Fakülte çatısına bir tane konursa 2 km sorun olmaz. Başlangıç için şu sayfa iyi: İlk LoRaWAN sensörünüzü bağlayın.
Translated from Türkçe by AI ·
It is not robust. The digital inputs of the SX127x are rated at most around VDD + 0.3 V. Driving it with a 5V signal slowly kills the module, and the heating may be caused by that.
Dayanıklı değil. SX127x’in dijital girişleri en fazla VDD + 0,3 V civarı. 5V sinyal ile sürmek modülü yavaş yavaş öldürür, ısınma da ondan olabilir.

