Forum Index

Rules  | Points  | Add...  | Recent posts  | Search | Register | Log in



Oldschoolowa bramka SMS


  Main Page -> Forum Index -> DIY Structures ->Oldschoolowa bramka SMS Post new topic  Reply to topic 
Author
Hide the left column
Show left column Message
mdziewie
Level 18
Location: Warszawa
Joined: 18 Oct 2008
Posts: 283
Helped: 15
Post rating: 286
mdziewie
Level 18
Post#1 07 Jul 2011 21:23Positive voted  Topic author   

Oldschoolowa bramka SMS


Oldschoolowa bramka SMS

Dzień dobry,
w myśl prawdy, iż najwięcej satysfakcji przynoszą wynalazki głupie, chciałbym dziś zaprezentować moje nowe dzieło. Jest nim urządzenie do wysyłania i odbierania krótkich wiadomości tekstowych, czyli tzw. bramka SMS.
Dociekliwi wprawdzie zapytają, po co to komu, skoro każdy telefon to potrafi, niemniej, jak napisałem, najwięcej satysfakcji...

Do rzeczy - bramka SMS składa się z trzech elementów:
- modemu GSM
- komputra
- konsoli użytkownika
- kabli, drutów i płytki uniwersalnej (nie spodziewałem się hiszpańskiej inkwizycji...)

Rolę modemu GSM spełnia znany i nielubiany chiński moduł ZTE MG3030 (na następnym zdjęciu wlutowany w płytkę uniwersalną), znany również pod różnymi innymi nazwami. Nie ma się o nim co rozpisywać, wiele osób próbowało go już użyć (niektórzy nawet z sukcesem), a milowy krok stanowi zauważenie, że mniej więcej obsługuje on wszystkie normalne komendy AT dostępne dla modemów GSM, w związku z czym nie trzeba koniecznie używać dokumentacji dostarczonej przez producenta. Modem jak to modem - z jednej strony podłączona jest do niego antenka, a z drugiej - przez UART - mikrokontroler, czyli tzw. komputr. Z trzeciej strony podłączona jest karta SIM (opisuję słownie, bo oczywiście nie namalowałem schematu).

Oldschoolowa bramka SMS

Wspomniany Komputr to mikrokontroler STM32F103 (32-bitowy rdzeń Cortex M3, tutaj pracujący z częstotliwością 64 MHz, 20 KB RAM, 128 KB Flash). Elektroniki towarzyszącej jest niewiele - przekaźnik włączający zasilanie konsoli, dwie diodki LED, parę tranzystorów obsługujących transmisję w pętli prądowej, no i zasilacz:)

Dochodzimy do sedna sprawy - konsolę użytkownika stanowi dalekopis ASR33 amerykańskiej firmy Teletype (ten konkretny egzemplarz to młodziak, wyprodukowany coś koło 1976 roku). Ciekawych konstrukcji tej diabelnej maszyny odsyłam do materiałów w internecie - dodam tylko tyle, że urządzenie ma dwa tranzystory na krzyż, a kodowanie i dekodowanie danych (przesyłanych szeregowo, 1 bit startu, 8 danych, 1 stopu, za pomocą pętli prądowej) odbywa się mechanicznie, za pomocą czegoś, co wygląda jak maszyna Babbage'a;)
Założeniem projektu było pozostawienie dalekopisu w nienaruszonym stanie (żadnych przeróbek). Swoje kable dołączyłem do panelu zaciskowego znajdującego się z tyłu urządzenia.
Zdjęcie poniżej prezentuje częściowo rozmontowany (do konserwacji) "dystrybutor" - rejestr przesuwny produkujący dane szeregowe.

Oldschoolowa bramka SMS

Oprogramowanie napisałem od zera. Wykorzystuje ono wielowątkowy "system operacyjny" Free-RTOS i właściwie nie ma tu się o czym rozpisywać - po prostu kupa klepania...
Co do funkcjonalności - użytkownik, poza możliwością wysyłania i odbierania SMS-ów, ma dostęp do książki telefonicznej (oczywiście z możliwością edycji wpisów) i paru funkcji użytkowych, takich jak sprawdzenie siły sygnału.
Na obrazku - kawał wydruku z dalekopisu.

Oldschoolowa bramka SMS

Ostatni obrazek - elektronika zabudowana w "nodze" dalekopisu. (Ten duży transformator robi 115V dla samego teletypa; mój transformator to mały toroid).

Oldschoolowa bramka SMS

Zdjęć może być więcej, jak je zrobię; mam również film przedstawiający urządzenie przy pracy (piorunujące wrażenie), ale muszę go trochę odchudzić przed wrzuceniem.

Pozdrawiam i zachęcam do zadawania pytań. Krytyki nie akceptuję;)

Edit: Dorzucam filmik. Niestety, część musiałem zamazać, żeby ukryć numery telefonów osób trzecich;)




P.S. Dzięki za wszystkie pozytywne komentarze, które zazdrośni moderatorzy nieustępliwie wrzucają do kosza;)

Helpful post? + +206
Back to top

Google Adsense
Google


Back to top
matn__
Level 13
Joined: 29 Mar 2010
Posts: 84
Helped: 7
matn__
Level 13
Post#2 07 Jul 2011 22:40    

Re: Oldschoolowa bramka SMS


No, no. Bramka godna podziwu. Masz podgląd SMS-ów co napisałeś na kartce? Na jakim mikrokontrolerze zrealizowałeś projekt?

Helpful post? + 0
Back to top
DVDM14
Level 34
Joined: 10 Aug 2008
Posts: 2955
Helped: 273
Post rating: 331
DVDM14
Level 34
Post#3 07 Jul 2011 22:49    

Re: Oldschoolowa bramka SMS


Projekt trochę dziwny, ale fajny. Porządne wykonanie, układ wykonuje przewidziane dla niego zadania, brawo. :) A co do pytań, trudno było zaimplementować obsługę tego dalekopisu? Jak dużym wyzwaniem było zmuszenie go do współpracy z mikrokontrolerem?

matn__ wrote:
[...]Na jakim mikrokontrolerze zrealizowałeś projekt?


Przecież Autor tematu napisał:

mdziewie wrote:
[...]Wspomniany Komputr to mikrokontroler STM32F103 (32-bitowy rdzeń Cortex M3, tutaj pracujący z częstotliwością 64 MHz, 20 KB RAM, 128 KB Flash).[...]


Ps. W Twoim poście, kolego mdziewie znajduje się 5 błędów ortograficznych. ;)

Helpful post? + -1
Back to top

Google Adsense
Google


Back to top
Removed
Removed
Post#4 07 Jul 2011 22:51    

Re: Oldschoolowa bramka SMS


Na przedostatnim obrazku jest twój numer telefonu :).

Helpful post? + 0
Back to top

Google Adsense
Google


Back to top
1st
Level 15
Location: Bobrowiec
Joined: 03 Aug 2005
Posts: 224
Helped: 6
Post rating: 6
1st
Level 15
Post#5 07 Jul 2011 23:14    

Re: Oldschoolowa bramka SMS


Jak byś jeszcze dorzucił obsługę taśmy drukowanej to byłby zupełny wypas!
Archiwum SMS na taśmach - oldschoolowe na maxa.

Jak wysyłasz te sms? Bo jak rozumiem inicjujesz modem, klepiesz w klawisze wiadomość i "return", czy wpisujesz komendy AT w terminal?

Helpful post? + 0
Back to top
mdziewie
Level 18
Location: Warszawa
Joined: 18 Oct 2008
Posts: 283
Helped: 15
Post rating: 286
mdziewie
Level 18
Post#6 07 Jul 2011 23:36  Topic author   

Re: Oldschoolowa bramka SMS


Dobry wieczór,
odpowiadam na pytania:

1) Co do błędów ortograficznych - nie dyskutuję:) Dodam, że "komputr" jest celowy, a jedną przekręconą literówkę poprawię w wolnej chwili.

2) Komunikacja z TTY jest banalnie prosta. Jak pisałem, dalekopis wyposażony jest w łącze szeregowe, więc może być obsłużony przez zwykły UART znajdujący się w mikrokontrolerze. Jest jedno małe "ale" - ASR33 chodzi z historyczną prędkością 110 bodów - żeby taką osiągnąć na wspomnianym STM-ie, trzeba zjechać z taktowaniem peryferiów do minimum (inaczej brakuje licznika, żeby ustawić baudrate). Druga uwaga jest taka, że warstwa elektryczna protokołu to pętla prądowa (20 lub 60 mA). Komunikacja z nią wymaga użycia wzmacniacza na tranzystorze (a w przypadku mojego układu na dwóch). Poza tym istnieje pewna specyfika komunikacji - np. po znaku CR trzeba wysłać kilka "znaków wypełniających" (np. zer) - chodzi o to, że powrót karetki chwilę trwa i w tym czasie nie powinien do terminala dotrzeć żaden drukowalny znak (bo znajdzie się gdzieś pośrodku kartki).
Ostatnią uwagą jest to, że zasilanie TTY puszczone jest przez przekaźnik i odłączane kiedy nic się nie dzieje (dalekopis robi dużo szumu przy pracy, nawet jak aktualnie nic nie drukuje; w dodatku to zabytek i wypadałoby minimalizować jego zużycie). Urządzenie wyposażyłem w specjalny guzik do "budzenia" konsoli, jeśli chcemy coś napisać (dopóki silnik nie pracuje, dopóty dystrybutor się nie kręci, więc nie jesteśmy w stanie wysłać żadnego znaku z klawiatury).

3) Komunikacja między procesorem a modemem odbywa się oczywiście za pośrednictwem komend AT. Natomiast konsola użytkownika wyposażona jest w prosty interfejs typu "wiersz poleceń". Interfejs jest tak pomyślany, żeby zużywał jak najmniej papieru, tzn:
a)linie mają być maksymalnie wypełnione, bez zbędnych znaków nowej linii
b)drukowane teksty powinny być możliwie krótkie.
Użytkownik nie ma bezpośredniego dostępu do komend AT - no, chyba że zrobi coś w stylu "AT Intrusion" z tekstu SMS-a:) Po włączeniu zasilania oprogramowanie samo konfiguruje modem, wprowadza numer PIN, podłącza się do sieci itd. - tak jak telefon komórkowy.

3) Tak, tekst SMS-a jest drukowany w trakcie pisania. Jedyną "innością" w stosunku do wyświetlania na monitorze jest to, że karetka nie potrafi się cofać, więc wciśnięcie klawisza BS (albo DEL) powoduje skasowanie ostatniego znaku z bufora i wydrukowanie na papierze dodatkowego znaku informującego o tym, że poprzedni znak został skasowany. Na przykład:
Piszemy: Ala ma ps<BS><BS>kota
Na papierze będzie: Ala ma ps!!kota
Treść SMS: Ala ma kota

4) Rzeczywiście, jest tam mój numer:) Ale mój numer jest powszechnie dostępny w Internecie, więc nie mam się czym przejmować. Odfiltrowałem zdjęcia, na których są numery innych osób.

5)Obsługa taśmy w jest:) Wystarczy włożyć taśmę w dziurkacz i włączyć tenże. Niestety, w TTY sterowanie dziurkaczem i czytnikiem jest tylko manualne, więc z poziomu oprogramowania nie można decydować, czy chcę tekst wydrukować, czy wydziurkować. (Dziurkuje się zawsze to samo, co się drukuje. Alternatywnie się drukuje, ale nie dziurkuje.) O papierowym archiwum SMS też już myślałem - zgadzam się, to już odpał po całości:)

P.S. Zmieniłem w tym i poprzednim poście słowo "selektor" na "dystrybutor", żeby być w zgodzie z instrukcją obsługi:) Selektorem nazywa się urządzenie spełniające odwrotną funkcję - tzn. dekodujące dane szeregowe. Dla zainteresowanych - składa się z elektromagnesu, klapki i bliżej niezbadanego mechanizmu.

Pozdrawiam.

Helpful post? + 0
Back to top

Google Adsense
Google


Back to top
1st
Level 15
Location: Bobrowiec
Joined: 03 Aug 2005
Posts: 224
Helped: 6
Post rating: 6
1st
Level 15
Post#7 08 Jul 2011 00:25    

Re: Oldschoolowa bramka SMS


OK.
Z mojej strony ostatnie pytanko (chyba :-) )skąd wziąłeś dalekopis? Właśnie pobieżnie przejrzałem allegro i ebay i nic. A pamiętam zabawy z dalekopisem... pamiętam jak mój ojciec był szefem łączności na pewnym przejściu granicznym ileś lat temu. Bawiłem się w tworzenie "ACSI ART" a właściwie "Kropka ART" na tych taśmach.

Helpful post? + 0
Back to top

Google Adsense
Google


Back to top
mdziewie
Level 18
Location: Warszawa
Joined: 18 Oct 2008
Posts: 283
Helped: 15
Post rating: 286
mdziewie
Level 18
Post#8 08 Jul 2011 00:41  Topic author   

Re: Oldschoolowa bramka SMS


No cóż, mówiąc krótko, dalekopis uratowałem od śmietnika pewnej dużej polskiej firmy... Dialog wyglądał mniej więcej tak:
- Ło, skąd to macie?
- Nie wiem, jak chcesz to bierz, bo wszystko wyrzucamy.
Było tam jeszcze kilka innych gratów w lepszym lub gorszym stanie; TTY jest pierwszym, który uruchomiłem.

A z zupełnie innego źródła mam jeszcze prawdziwe cacko - PDP11/44 - ale musi poczekać, aż napiszę pracę doktorską;)

Do Krzysztofa K: Fajny masz opis:) W jakiej temperaturze tlen jest skrawalny?
Przy okazji - chałupę mam M3, ale dzieci faktycznie jakoś nie widziałem;)

Helpful post? + 0
Back to top
kamiljus
Level 14
Location: Łomża
Joined: 13 Mar 2004
Posts: 142
Helped: 3
kamiljus
Level 14
Post#9 08 Jul 2011 14:07    

Re: Oldschoolowa bramka SMS


Robi wrażenie ;)
Mam prośbę. Używam również MG3030. Nie sprawia mi on żadnych problemów, jednak z chęcią wykorzystałbym Twoją pracę dotyczącą oprogramowania tego modułu. Może coś by się przydało i oszczędziło mi pracy.
Czy mógłbyś udostępnić kod związany z obsługą MG3030?

Pozdrawiam
Kamiljus

Helpful post? + 0
Back to top
mdziewie
Level 18
Location: Warszawa
Joined: 18 Oct 2008
Posts: 283
Helped: 15
Post rating: 286
mdziewie
Level 18
Post#10 08 Jul 2011 15:18  Topic author   

Re: Oldschoolowa bramka SMS


Wrzucam cały kod. Obsługa modemu jest w plikach gsm.c i gsm.h. Do pracy modułu potrzebna jest obsługa portu szeregowego, biblioteka narzędziowa strtab, RTOS i może cośtam jeszcze:).
Kilka uwag:
- Są trzy funkcje "callback", które pozwalają reagować na niezainicjowane przez użytkownika zdarzenia (takie jak podłączenie do sieci czy odebranie sms-a)
- Numer pin karty jest w tej chwili zapisany na sztywno (jako #define), ale bez problemu można to przerobić
- Po starcie modem jest automatyczne inicjalizowany. Jeśli się to nie powiedzie, jest resetowany i inicjalizowany jeszcze raz (tak do skutku).
- Tak naprawdę kluczowe jest to, że biblioteka potrafi parsować komunikaty przychodzące z modemu (rozbija je na drzewko stringów).

Ogólnie kod jest dosyć złożony, więc w razie problemów proszę o kontakt na PW.


Pozdrawiam.

Attachments:

Helpful post? + 0
Back to top
satanistik
Level 27
Location: Lublin
Joined: 29 Oct 2005
Posts: 1404
Helped: 46
Post rating: 293
satanistik
Level 27
Post#11 08 Jul 2011 18:11    

Re: Oldschoolowa bramka SMS


Konstrukcja bardzo mi się podoba, urządzenia z pogranicza retro i współczesności, czyli to co lubię. Czy mógł by kolega udostępnić jakiś filmik z działania takiego dalekopisu? W jaki sposób odbywa się nadawanie znaków?

Helpful post? + 0
Back to top

Google Adsense
Google


Back to top
mdziewie
Level 18
Location: Warszawa
Joined: 18 Oct 2008
Posts: 283
Helped: 15
Post rating: 286
mdziewie
Level 18
Post#12 08 Jul 2011 21:45  Topic author   

Re: Oldschoolowa bramka SMS


Film wrzuciłem do pierwszego posta - przepraszam za jakość, ale większego pliku nie udało mi się wrzucić.

Co do nadawania znaków - wygląda to mniej więcej tak:
Klawiatura ma szalony system dźwigienek. Po wciśnięciu klawisza dźwigienki ustawiają osiem przełączników definiujących 8 bitów kodu ASCII znaku (ósmy bit jest bitem parzystości), po czym klawiatura się blokuje (nie da się wcisnąć kolejnego klawisza) Sygnał z 8 przełączników podłączony jest do dystrybutora, który w momencie wciśnięcia klawisza jest odblokowywany i robi jeden pełny obrót, nadając w ten sposób znak (dystrybutor ma 10 pól - bit startu, 8 danych, 1 stopu). Na koniec obrotu odpowiednie popychadło odblokowuje klawiaturę i można wcisnąć następny klawisz.

Odbiór odbywa się za pomocą "selektora" - mechanizmu wyposażonego w elektromagnes, podłączony do linii danych (przez prosty, dwutranzystorowy driver - jest to jedyna elektronika w TTY). Elektromagnes ustawia poszczególne bity w mechanizmie w trakcie pełnego obrotu selektora (szczegółów jeszcze nie rozgryzłem), a układ bitów zamieniany jest na położenie miliona dźwigni odpowiadających za ruchy poszczególnych podzespołów. Konstrukcja jest generalnie niezbitym dowodem na używanie twardych narkotyków w przemyśle;)

Helpful post? + 0
Back to top
Removed
Removed
Post#13 05 Aug 2011 15:44    

Re: Oldschoolowa bramka SMS


Kolego szacun, jestem pełen podziwu.. :D

Helpful post? + 0
Back to top
Czebu
Level 19
Location: a raczej kraj Polska
Joined: 19 Jun 2009
Posts: 454
Helped: 17
Czebu
Level 19
Post#14 13 Aug 2011 20:18    

Re: Oldschoolowa bramka SMS


Ludzie co tu się dziwić. Tak trzeba projektować. Takich projektów mi tu potrzeba na tym forum.

mdziewie. Dzięki Ci za ten projekt. Właśnie takich projektów mi potrzeba. Pomysł wcale nie jest głupi. Tym projektem pokazujesz i łamiesz stereotyp: Wszystko co najnowsze jest najlepsze. Niestety ten stereotyp jest nieprawdziwy. Istnieje tyle różnych starszych urządzeń elektronicznych, które można połączyć z tymi nowszymi. Istnieje tyle różnych starszych systemów operacyjnych, na których można stworzyć ciekawe i ułatwiające pracę programy komputerowe.

mdziewie. Trzymaj tak dalej i łam stereotypy.

Helpful post? + 0
Back to top
mdziewie
Level 18
Location: Warszawa
Joined: 18 Oct 2008
Posts: 283
Helped: 15
Post rating: 286
mdziewie
Level 18
Post#15 01 Nov 2011 21:05  Topic author   

Re: Oldschoolowa bramka SMS


Cudze chwalicie;)

http://www.philips.com/e/male-grooming/blog/retro-texting.html

Helpful post? + 0
Back to top
Post new topic  Reply to topic     Main Page -> Forum Index -> DIY Structures -> Oldschoolowa bramka SMS
Page 1 of 1



Switch to mobile version Switch to version for desktops

Administrator || Moderators || Forum Rules || General Rules || Cookies information || Editors || Contact for companies || Contact

Page generation time: 0.146 seconds