Stránka 3 z 4

Napsal: 26 kvě 2021, 23:25
od termit256
Mam dojem ze ty odpovedi tim crlf i zacinaji. Rychlejsi nez se prokousavat manualem bude, mrknout se v terminalu co z toho vlastne leze.

Napsal: 28 kvě 2021, 20:26
od scorpions-cz
Díky kluci :lol: příjem i odesílání nějak funguje. Až přijde GSM modul (už je v ČR) budu zkoušet dál.
ještě bych se zeptal na 2 věci:
Ve VB je komponenta v ToolBox /Components/ SerialPort. Je nějak využitelná při této mé komunikaci?
A za druhé, vypsat seznam dostupných COM portů umím, ale dá se nějak programově zjistit co je na nich pověšeno? Tak jako např. ve správci zařízení?
Dík.

Napsal: 03 čer 2021, 20:18
od scorpions-cz
Tak mi dnes pošťák doručil tento GSM modul (teda rovnou dva)
https://www.aliexpress.com/item/32951642996.html
Přes terminál HERCULES 3,2,8 vše fungovalo na první dobrou. Odeslání SMS v pohodě.
Jenom mě překvapily dvě věci:
Když dám dotaz na operátora, tak mi u vodafonu se stále hlásí jako OSKAR.
A u tohoto terminálu nemusím zadávat tu ukončovací sekvenci CRLF a ani se mi při příjmu nezobrazuje.
O víkendu zkusím komunikaci přes VB.

Napsal: 03 čer 2021, 20:56
od termit256
Pri prijmu se CRLF v terminalu jevi jako odradkovani, pri vysilani ho posles stiskem enteru.
Zobraz si to v hexu a uvidis jestli to tam mas nebo ne.

Napsal: 03 čer 2021, 21:14
od scorpions-cz
Vyzkouším, dík.

Napsal: 07 čer 2021, 21:52
od scorpions-cz
Tak jsem zase trochu chytřejší :lol: páč už umím z VB poslat SMS na dané číslo. Ale zase ta diakritika :evil:
Pokud nepoužiju to kódování 1250 tak se zobrazují jen otazníky( za písmena s diakritikou ) . Pokud tam to kódování dám, tak ve výpisu odeslaného, je to v pořádku, ale na telefonu se mi zobrazují jiné znaky. Např. za Í jen I a za Č se zobrazí E.
Kde mám hledat chybu? V telefonu nebo někde v nastavení toho modulu?
Jinak jsem to zkoušel na 2 telefony, kam normálně SMS s diakritikou chodí v pohodě.
Modul je s SIM800C
Dík za rady.

Napsal: 07 čer 2021, 23:04
od termit256
Tak s tim si uzijes.
Musis prepnout modem do rezimu UCS2 a budes muset pomoci konverzni tabulky ty znaky z 1250 do UCS2 prekodovat protoze UCS2 je dvoubajtovy format znaku. SMS se ti zkrati na 70 znaku, mam pocit ze tam byla i nejaka promenliva delka znaku a podobne zhovadilosti. Nektere mobily misto UCS2 pouzivaji kodovani UTF-16 ktere by melo byt snad podobne, v cem se obe lisi ale netusim. Musis u prijatych zprav rozlisit jestli mas klasicke 7bitove kodovani, nebo tyhle 16bitove a podle toho znaky dekodovat.

Osobne ti radim v zajmu zachovani dusevniho zdravi se na diakritiku v sms vykaslat.

Napsal: 07 čer 2021, 23:31
od scorpions-cz
AHA tak to se na to asi fakt vybodnu, aspoň zatím. Udělám jen kontrolu délky SMS aby neodcházely zbytečně 2.

Napsal: 08 čer 2021, 16:50
od scorpions-cz
Ještě bych se zeptal jak funguje ve VB TIMER. Používat ho trochu umím, ale zajímalo by mě, jestli jede jakoby paralelně s programem, nebo po té nastavené době se program zastaví, vykoná se procedura v TIMERu a program dál pokračuje.
Jde mi o to kontrolovat (tak každých 15 sec)připojení SIM800 k síti a kontrolovat a zobrazovat sílu signálu a to jsem chtěl udělat TIMERem ,ale zároveň se může stát, že modul bude zrovna odesílat SMS, tak aby se to nějak nepohádalo :o

Napsal: 08 čer 2021, 17:39
od FHonza
Neznám tak dobře VB, ale ve všech ostatních jazycích (C#, Delphi, ...) to obaluje pradávný timer z Windows API. Takže bych se nebál, určitě se program nepřeruší. Stále vše poběží v jednom vlákně. Nevýhodou je, že přesně s tím čas neodměříš (což je ve Windows obecně problém).

Napsal: 08 čer 2021, 19:46
od scorpions-cz
Nejde mi o přesný odměření času, ale o to když bude hlavní program něco zapisovat do portu, otevírat, zavírat port ap. a v ten samý okamžik se začne vykonávat procedura timeru, kde se bude s portem taky komunikovat, zda se to nějak nebude ovlivňovat.

Napsal: 08 čer 2021, 20:02
od FHonza
Myslím že by nemělo. Ale můžeš na začátku každého zápisu nastavit nějakou proměnou jako příznak. Na konci jí pak zas shodíš. A před začátkem každé manipulace na portu tu proměnou testovat.

Napsal: 08 čer 2021, 20:12
od scorpions-cz
Dík. Budu to testovat a uvidím. 8O

Napsal: 08 čer 2021, 20:26
od termit256
Tu spravu kolizi pristupu k HW si tam udelej vzdycky, idealne i s nejakymi stupni priorit. Nemusi to byt jen ten timer, ale i nejake jine preruseni, akce vyvolana uzivatelem, jine vlakno tveho programu, nebo i to same pokud nebudes chtit cekat az prijde odpoved z modemu apod. Predejdes tim spouste necekanych neprijemnosti, ktere se blbe hledaji, protoze ty kolize se budou objevovat zridka a nahodne.

Napsal: 08 čer 2021, 21:19
od scorpions-cz
Třeba jednoduše, když budu komunikovat s portem v hlavním programu, tak vypnu timer (je mi jedno, zda se síla signálu aktualizuje za 15 nebo 18 sec) a potom ho zase zapnu?