Главная страница
О зелёных человечках
- Информация о материале
- Автор: Mikhail Egorov
- Категория: Игры
- Просмотров: 13350
Этой статьёй планирую начать небольшой цикл о Kerbal Space Program.
Начать хотелось бы с того, что вызывало у меня самую большую проблему, а именно орбитальное рандеву. Как оказалось, есть очень простой (хотя, признаться, не самый экономный) способ.
Достаточно просто пройти где-нибудь поблизости от цели и просто сравнять скорости.
Глухой жнец-прачка или исправление некорректной работы wash
- Информация о материале
- Автор: Mikhail Egorov
- Категория: Пингвиноводство
- Просмотров: 6364
При очередном обновлении Ubuntu обнаружил, что reaver перестал работать. Ну не то чтобы перестал, не работает его wash, который должен выдавать список ТД с включенным WPS.
Оказалось, что не хватает каталога reaver в /etc
После его создания wash снова начал выдавать здоровенные списки соседских сетей.
Игра на нервах попугая или GPIO Parrot AR.Drone 2.0
- Информация о материале
- Автор: Mikhail Egorov
- Категория: AR.Drone
- Просмотров: 8292
Одной из интересных особенностей Parrot AR.Drone является управления частью (причём значительной) аппаратуры при помощи GPIO.
В этом документе будет приведён список GPIO, манипуляция с которыми либо полезна либо забавна.
Хотелось бы отметить, что в комплект ПО попугая входит программа gpio, позволяющая напрямую управлять этими портами.
Первое, что обнаружилось - gpio 180 и 181. Эти gpio управляют зелёным и красным светодиодом на нижней стороне дрона. Управлять ими можно так:
# gpio 180 -d ho 0 // выключить зелёный LED подключения
# gpio 180 -d ho 1 // включить зелёный LED подключения
# gpio 181 -d ho 0 // выключить красный LED подключения
# gpio 181 -d ho 1 // включить красный LED подключения
gpio 171-174 управляют двигателями. В частности, именно так производится первоначальная их конфигурация при загрузке дрона.
gpio 175 позволяет "сбросить" ошибку при помощи flipflop, т.е. установки этого gpio в 1 и назад в 0.
gpio 176 позволяет _прочитать_ наличие этой ошибки (gpio 176 -i)
gpio 177 - navdata. Единственная обнаруженная возможность использования - перезапуск (путём установки в 0, потом в 1) навигационной платы.
И ещё немного, выдранного из ядра:
Судя по комментариям - горизонтальная (т.е передняя) камера
#define SOC1040_RESET_GPIO 92
#define SOC1040_PWDN_GPIO 93
И вертикальная (т.е нижняя)
#define OV7670_PWDN_GPIO 91
режим USB порта
m2_gpio_init(51, 0); // Forcing USB to Host mode
Wi-fi
#define GPIO_ATH_WARM_RST 85
#define GPIO_ATH_RST_WLAN 86
Наличие или отсутствие флешки
#define GPIO_MMC1_CD 76
И прочее - вповалку:
omap_mux_init_gpio(171, OMAP_PIN_OUTPUT); //kill_uart_m1
omap_mux_init_gpio(172, OMAP_PIN_OUTPUT); //kill_uart_m2
omap_mux_init_gpio(173, OMAP_PIN_OUTPUT); //kill_uart_m3
omap_mux_init_gpio(174, OMAP_PIN_OUTPUT); //kill_uart_m4
omap_mux_init_gpio(175, OMAP_PIN_OUTPUT); //motor_enable
omap_mux_init_gpio(176, OMAP_PIN_INPUT); //cut-out
omap_mux_init_gpio(177, OMAP_PIN_OUTPUT); // PIC reset
omap_mux_init_gpio(178, OMAP_PIN_INPUT); // PIC ICSP Data
omap_mux_init_gpio(179, OMAP_PIN_OUTPUT); // PIC ICSP Clock
omap_mux_init_gpio(180, OMAP_PIN_OUTPUT); // MB green LED
omap_mux_init_gpio(181, OMAP_PIN_OUTPUT); // MB Red LED
omap_mux_init_gpio(87, OMAP_PIN_INPUT); // Reset Button
omap_mux_init_gpio(89, OMAP_PIN_OUTPUT); // 5V cut-out
m2_gpio_init(89, 1); // disabling 5V power supply
m2_gpio_init(177, 1); // PIC reset disable
m2_gpio_init(181, 1); // Red LED on
m2_gpio_init(180, 1); // Green LED on
#define GPIO_MMC1_CD 76
Обрезание робопылесоса или временное удаление разъёма зарядки iRobot Roomba 560
- Информация о материале
- Автор: Mikhail Egorov
- Категория: Записки о автопылесосе
- Просмотров: 10711
Автоматический пылесос (впрочем, это скорее электровеник) Roomba от iRobot является очень полезной в хозяйстве вещью. Несмотря на то, что пыль он убирает всё же хуже нормального пылесоса, это компенсируется частотой уборки. Уборка по расписанию, однако, требует ежедневной зарядки пылесоса, для чего и предназначена док-станция, входящая в комплект пылесоса.
Однако, в один прекрасный день, после зарядки пылесоса непосредственно от БП (пылесос застрял под батареей и был замечен только после возврата с отпуска) пылесос отказался парковаться на док-станции. Нет, он её видел, точно выходил на неё (стоящую под кроватью), но при наезде на неё начинал "елозить" пока не съезжал. Зарядка даже не начиналась. После распевания литаний Омниссии в лице Гугла была обнаружена и причина этого - разъём зарядки. Лепестковый контакт в нём сломался, потеряв контакт с дополнительным разъёмом "земли", таким образом пылесос считал, что в его разъём воткнут зарядник и, во избежание повреждений, не принимал заряд от док-станции. Как и в случае с попугаем, лучший вариант - замена разъёма целиком, но кто ж знает, когда оно приедет? В качестве временного решения было решено убрать разъём питания, заглушив его джампером (слава хомяку, в запасе всегда есть). Сам процесс несложен и вполне доступен даже тому, кто видит отвёртку второй раз в жизни. В конце статьи приложены скриншоты, но такая разборка совсем не требуется - достаточно снять только верхнюю крышку.
Таким образом, я получил работающий пылесос, не дожидаясь доставки разъёма. Естественно, когда будет новый разъем, он будет поставлен на место, но к тому времени Roobma уберёт не один мешок пыли.
Подробнее: Обрезание робопылесоса или временное удаление разъёма зарядки iRobot Roomba 560
Страница 3 из 6