Pi Zero + SIM7600 römork takip cihazı, 10 Ah'lik powerbank'i dokuz saatte boşaltıyor
Yapay zekâ tarafından English dilinden çevrildi ·
Evin dışındaki ilk gerçek projem, o yüzden aptalca hatalar yapmayı bekliyorum.Römorkum için bir takip cihazı yapıyorum: Pi Zero W, bir SIM7600E HAT (LTE + GPS) ve 10.000 mAh’lik bir USB powerbank. Bir Python betiği HAT’ten her 30 saniyede bir GPS verisini okuyor ve cihazın HTTP API’si üzerinden Hermetry’ye gönderiyor:
{"lat": 52.95231, "lon": -1.14972, "speed_kmh": 0.0, "sats": 9}
Harita kartında römork görünüyor, yani bu kısım çalışıyor. Sorun, pilin yaklaşık dokuz saat sonra bitmesi. Hatta bir USB güç ölçer taktım ve park halinde de hareket halindeyken de sürekli yaklaşık 350 mA gösteriyor. Şarj arasında bir hafta gitmesini umuyordum. Bu bir Pi’nin normal tüketimi mi, yoksa bir aptallık mı yapıyorum?Betik, cihaz token’ını Authorization başlığında taşıyan requests kütüphanesini kullanıyor, her konum için bir POST gönderiyor ve gönderimler arasında HTTPS oturumunu açık tutuyor. HAT, Pi’nin 5 V pinlerinden besleniyor ve ikisi de powerbank’in tek 2,1 A portundan çalışıyor.
First real project outside the house, so expect silly mistakes.
I’m building a tracker for my trailer: Pi Zero W, a SIM7600E HAT (LTE + GPS), and a 10,000 mAh USB power bank. A Python script reads GPS from the HAT every 30 seconds and posts it to Hermetry with the device HTTP API:
{"lat": 52.95231, "lon": -1.14972, "speed_kmh": 0.0, "sats": 9}
The map card shows the trailer, so that part works. Problem is the battery is flat after about nine hours. I put a USB power meter in line and it reads around 350 mA the whole time, parked or moving. I was hoping for a week between charges. Is this just what a Pi costs, or am I doing something dumb?
The script uses requests with the device token in the Authorization header, one POST per fix, and keeps the HTTPS session open between posts. The HAT is powered from the Pi 5 V pins, and both run off the single 2.1 A port of the power bank.
Yapay zekâ tarafından English dilinden çevrildi ·
Konumlar arasında GPS ve modem ne yapıyor? İkisi de sürekli açık mı?
What are the GPS and the modem doing between fixes? Both on all the time?
Yapay zekâ tarafından English dilinden çevrildi ·
Evet, ikisi de açık. Betik, time.sleep(30) içeren bir döngü, başka bir şey yok.
Yes, both on. The script is a loop with time.sleep(30), nothing clever.
Yapay zekâ tarafından English dilinden çevrildi ·
Zero’nun kendisi de Wi-Fi, BT ve HDMI açıkken yaklaşık 100 mA boşta çekiyor. HAT daha hiçbir iş yapmadan bu, bütçenizin üçte biri demek.
And the Zero itself idles around 100 mA with Wi-Fi, BT and HDMI on. That’s a third of your budget before the HAT does anything.
Yapay zekâ tarafından English dilinden çevrildi ·
Pi’yi her konum tespiti arasında ESP32’de olduğu gibi derin uykuya alabilir misiniz?
Could you put the Pi into deep sleep between fixes like an ESP32?
Yapay zekâ tarafından English dilinden çevrildi ·
Veri tarafından bakınca: araç park halindeyken sürücünüzde 30 sn’de bir konum noktası gerekiyor mu? Bizde vanlar için yalnızca hareket halinde veri gönderiyoruz.
From the data side: do you need a point every 30 s while it’s parked in your drive? We only send on movement for our vans.
Yapay zekâ tarafından English dilinden çevrildi ·
Aoife, maalesef Pi’nin derin uyku modu yok. Bu bir Linux kutusu, ya çalışıyor ya da kapalı. Bu yüzden kesebildiğin her şeyi kes ve radyoyu daha az çalıştır.Yapacaklarım, kazanç sırasına göre:
- Pi: config.txt içinde
dtoverlay=disable-wifivedtoverlay=disable-bt, HDMI kapalı (eski imajlardatvservice -o), etkinlik LED’i kapalı. Zero’da bu sayede yaklaşık 80 mA’ya inersin. - GPS: konum alımları arasında GNSS motorunu kapat (
AT+CGPS=0, ardından tekrarAT+CGPS=1). SIM7600’de sıcak başlatma birkaç saniye sürer. - Hız: hareket halindeyken 30 sn, park halindeyken 15 ila 60 dakika. Karar vermek için hızı veya son konumdan olan mesafeyi kullan.
- Toplu gönderim: konumları tampona al ve her birkaç dakikada bir, ts içeren bir dizi olarak tek mesaj gönder. GPS doğru bir saat sağladığı için zaman damgaları güvenilirdir. On ayrı HTTPS çağrısı yerine tek çağrı daha az radyo süresi demektir ve aylık kotadan on yerine bir mesaj harcar.
[{"ts": 1757683200000, "values": {"lat": 52.95231, "lon": -1.14972, "speed_kmh": 31.5}},
{"ts": 1757683230000, "values": {"lat": 52.95410, "lon": -1.14701, "speed_kmh": 33.0}}]
Cihaz yalnızca birkaç dakikada bir veri gönderdiği için, profilinin çevrimiçi kuralını park oranına uyan beklenen aralıkla Recent message olarak ayarla; aksi halde gece boyunca çevrimdışı görünür.Bir hafta kesin bir gereksinimse, dürüst cevap, uyuyup modemi uyandıran bir mikrodenetleyici (ESP32 veya nRF) ya da çalışmalar arasında tüm Pi’nin gücünü kesen TPL5110 gibi bir zamanlayıcı çipidir. 80 mA’da boşta çalışan bir Linux kartı, 10 Ah ile bunu asla başaramaz.
Aoife, the Pi has no deep sleep, sadly. It’s a Linux box, it’s either running or off. So you cut everything you can and make the radio work less.
What I’d do, in order of payoff:
- Pi:
dtoverlay=disable-wifianddtoverlay=disable-btin config.txt, HDMI off (tvservice -oon older images), activity LED off. On a Zero that gets you to roughly 80 mA. - GPS: switch the GNSS engine off between fixes (
AT+CGPS=0, thenAT+CGPS=1again). A warm start on the SIM7600 is a few seconds. - Rate: 30 s while moving, 15 to 60 min while parked. Use speed or the distance from the last fix to decide.
- Batch: buffer fixes and send one message every few minutes as an array with ts. GPS gives you a correct clock, so the timestamps are trustworthy. One HTTPS call instead of ten is less radio time, and it costs one message out of the monthly quota instead of ten.
[{"ts": 1757683200000, "values": {"lat": 52.95231, "lon": -1.14972, "speed_kmh": 31.5}},
{"ts": 1757683230000, "values": {"lat": 52.95410, "lon": -1.14701, "speed_kmh": 33.0}}]
Because the device only talks every few minutes, set its profile’s online rule to Recent message with an expected interval that matches your parked rate, otherwise it shows offline all night.
If a week is a hard requirement, the honest answer is a microcontroller (ESP32 or nRF) that sleeps and wakes the modem, or a timer chip like a TPL5110 that cuts power to the whole Pi between runs. A Linux board idling at 80 mA will never get there on 10 Ah.
Yapay zekâ tarafından English dilinden çevrildi ·
Bugün 1’den 4’e kadar yaptım. Wi-Fi/BT/HDMI kapalı, GPS sabitlemeler arasında kapalı, hareket halindeyken 30 s, park halindeyken 30 min, her 5 dakikada bir gönderim. Ölçüm şu an ortalama yaklaşık 95 mA gösteriyor. Yaklaşık dört gün sürmeli. Ayrıca profili Recent message olarak değiştirmek zorunda kaldım; her gece çevrimdışına düşüyordu, bunu bir hata sanmıştım. Bir sonraki sürüm için TPL5110 sipariş ettim.
Did 1 to 4 today. Wi-Fi/BT/HDMI off, GPS off between fixes, 30 s when moving, 30 min when parked, sending every 5 min. Meter now reads about 95 mA average. Should be roughly four days. Also had to switch the profile to Recent message, it was flipping to offline every night, which I thought was a bug. TPL5110 ordered for the next version.
Yapay zekâ tarafından English dilinden çevrildi ·
Modemde daha sonra PSM veya eDRX’e bakacaksanız, önce o SIM kartta operatörünüzün bunu desteklediğini kontrol edin. Bizimki desteklemiyordu ve bir hafta sonumu kaybettim.
If you look at PSM or eDRX on the modem later, check your operator supports it on that SIM first. Ours didn’t and I lost a weekend.
- 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.

