Купил я однажды arduino. Сначала думал как это круто, могу собрать любое устройство. В итоге через пару дней я бросил эту игрушку. Были попытки собрать хоть что то не из списка примеров, но криворукость излечить не так уж и просто. Со временем пришло понимание, что устройство, собранное не из модулей с гостью проводков, а на печатной плате надежнее. Потом я узнал про launchpad. Параллельно я заказывал все что только можно. Все это барахло долго лежало в коробке, пока не была поставлена цель хоть как то оправдать затраты.
Устройство служит для мониторинга числа подписчиков в группах контакта и facebook. Результаты отображаются на экране 16*2. Думаю ничего сложного нет.
Есть два варианта развития событий:
Я выбрал второй. Данные запрашивает всем знакомый MR3020 с OpenWRT на борту через микросхему Prolific PL-2303.
Сначала настроим роутер.
Так как мы ограничены в использовании памяти, то устанавливать будем минимум. Естественно нужно доустановить пакеты для работы с данным преобразователем.
Перезагружаем и находим устройство в
Я не люблю использовать vi, так что ставлю ещё и nano.
Использовать что то привычное не получится, так что bash нам с помощь. Применим все свои навыки 2 курса универитета.
Несмотря на ужасный вид это работает. Правда вывод в микроконтроллер необычный.
Теперь напишем программу для микроконтроллера. Использовать я буду msp430g2553.
И соберем на макетке.

Уже хоть какой то прогресс.
Так как удачного опыта в изготовлении печатной платы у меня нет, но было желание сделать все прямо сейчас я использовал кусок макетки.

Осталось только проверить.

И отправить данные.

Далее думаю все понятно. Ставим задание в планировщик, разрабатываем план по выпрямлению рук и рисуем печатную плату, надеясь на успех.
Это мой первый пост, который скорее всего не выйдет за пределы песочницы. Но если вдруг, то прошу ругать как следует.
Устройство служит для мониторинга числа подписчиков в группах контакта и facebook. Результаты отображаются на экране 16*2. Думаю ничего сложного нет.
Есть два варианта развития событий:
- Микроконтроллер отправляет запрос к API социальных сетей. Нужен доступ к сети, который на данный момент я предоставить не могу.
- Микроконтроллер отображает информацию, которую ему отправляет другое устройство.
Я выбрал второй. Данные запрашивает всем знакомый MR3020 с OpenWRT на борту через микросхему Prolific PL-2303.
Сначала настроим роутер.
Так как мы ограничены в использовании памяти, то устанавливать будем минимум. Естественно нужно доустановить пакеты для работы с данным преобразователем.
opkg install kmod-usb-serial-pl2303
Перезагружаем и находим устройство в
/dev/. Радуемся успеху.Я не люблю использовать vi, так что ставлю ещё и nano.
Использовать что то привычное не получится, так что bash нам с помощь. Применим все свои навыки 2 курса универитета.
wget -O json 'http://api.vk.com/method/groups.getById?gid=ID&fields=members_count'
json=`grep -o '"members_count":.*",' json | cut -d ',' -f1`
vk=${json:16}
wget -O json 'http://graph.facebook.com/ID'
json=`grep -o '"likes":.*",' json | cut -d ',' -f1`
fb=${json:8}
rm json
if [ ${#vk} = 3 ]
then
vk_out="0${vk}"
else
vk_out="$vk"
fi
if [ ${#fb} = 3 ]
then
fb_out="0${fb}"
else
fb_out="$fb"
fi
echo "${vk_out}${fb_out}" >> /dev/ttyUSB0
Несмотря на ужасный вид это работает. Правда вывод в микроконтроллер необычный.
Теперь напишем программу для микроконтроллера. Использовать я буду msp430g2553.
#include <LiquidCrystal.h>
LiquidCrystal lcd(P2_1, P2_0, P1_5, P1_4, P1_3, P1_0);
void setup(){
delay(500);
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop()
{
int vk [4], fb [4];
lcd.clear();
lcd.setCursor(0, 0);
lcd.write(" the user count ");
lcd.setCursor(0, 1);
lcd.write("FB ____ VK ____");
while(true){
if (Serial.available()>=8) {
vk[0] = Serial.read()-'0';
vk[1] = Serial.read()-'0';
vk[2] = Serial.read()-'0';
vk[3] = Serial.read()-'0';
fb[0] = Serial.read()-'0';
fb[1] = Serial.read()-'0';
fb[2] = Serial.read()-'0';
fb[3] = Serial.read()-'0';
lcd.setCursor(0, 1);
lcd.print("VK ");
lcd.print(vk[0], DEC);
lcd.print(vk[1], DEC);
lcd.print(vk[2], DEC);
lcd.print(vk[3], DEC);
lcd.print(" FB ");
lcd.print(fb[0], DEC);
lcd.print(fb[1], DEC);
lcd.print(fb[2], DEC);
lcd.print(fb[3], DEC);
while(Serial.available()){
Serial.read();
}
}
delay(500);
}
}
И соберем на макетке.
Уже хоть какой то прогресс.
Так как удачного опыта в изготовлении печатной платы у меня нет, но было желание сделать все прямо сейчас я использовал кусок макетки.
Осталось только проверить.
И отправить данные.
Далее думаю все понятно. Ставим задание в планировщик, разрабатываем план по выпрямлению рук и рисуем печатную плату, надеясь на успех.
Это мой первый пост, который скорее всего не выйдет за пределы песочницы. Но если вдруг, то прошу ругать как следует.