У овом водичу ћемо научити како да користимо уРОС библиотеку за мицропитхон: https://github.com/mgtm98/uRos
Рос је оперативни систем за роботе у коме различити „чворови“ комуницирају са централним сервером преко ТЦП порука у ЈСОН формату.
Ова библиотека нам омогућава да имплементирамо РОС чвор у нашем СБЦ. Повезаће се са сервером и моћи ће да шаље (објављује) или прима (претплати се на) поруке.
Код за постављање поруке је следећи:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | увоз мрежа od урос увоз * od урос.стд_мсгс увоз стд_Боол лан = мрежа.ЛАН() лан.активан(Прави) лан.ифцонфиг( ( "КСНУМКС", "КСНУМКС", "КСНУМКС", "КСНУМКС" )) док( лан.статус() != 3 ): штампа( ".", крај="" ) време.спавати (1) штампа( "Повезан!" ) уРос = Рос( "КСНУМКС", 9090 ) #креирање новог уРос објекта МСГ = стд_Боол( подаци = Прави ) #креирање Рос стринг објекта поруке уРос.објавити ( "уРосТопиц", порука ) #објављивање објекта поруке штампа("Готово") |
У овом коду се прво повезујемо на ЛАН мрежу, а затим на РОС сервер; дефинишемо формат наше поруке и на крају објављујемо.
На рачунару извршавамо код у Питхон-у који делује као РОС сервер. Ради једноставности, овај код је само соцкет сервер који штампа податке на конзоли.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | увоз утичница увоз сис деф соцкет_сервер( хост, порт ): с = утичница.утичница (утичница.АФ_ИНЕТ, утичница.СОЦК_СТРЕАМ) с.бинд((хост, порт)) с.слушај (1) док Прави: цонн, адр = s.прихвати () штампа('Повезан од', адр) док Прави: дата = цонн.рецв(1024) if не подаци: разбити штампа(подаци) конн.Близу() штампа("конн затворен") с.Близу() штампа("с затворено") соцкет_сервер( '10.0.0.2', 9090 ) штампа("Готово") |
Као резултат, приказани су подаци примљени на серверу:

Ако погледамо податке, видимо два дела:
1. Дефиниција наше уРосТопиц поруке. Ово се шаље само једном за сваки нови тип поруке.

2. И објављени подаци. Ово се шаље сваки пут када објавимо нову вредност.

Сада сте спремни да повежете свој СБЦ са било којим РОС уређајем путем етернета, дефинишете прилагођену поруку и пошаљете је са само неколико линија Питхон кода.
