Как стать автором
Обновить
0

Как мы со школьниками мастерили сигнализацию на Raspberry для их собственной школы

Время на прочтение 4 мин
Количество просмотров 66K
В октябре прошлого года совпало два события: первое — UPS привез мне из Англии три Raspberry Pi и еще столько же PiFace, из которых я намеревался мастерить себе сигнализацию на даче; второе — я вдруг вспомнил про свою родную школу, и мне почему-то остро захотелось раздать неформальные долги и пойти поучить чему-то детишек. Из этого родилось логичное решение: я собрал в коробку все имеющиеся железяки и пошел показывать их директору школы…

Прежде подробного описания дальнейших событий расскажу немного предысторию из начала девяностых.
В то прекрасное время во всех школах было очень весело, и большинству родителей не хотелось отдавать туда детей. Из этого кое-где родилась практика, когда родители десятка будущих первоклашек собирались вместе, находили помещение и организовывали там занятия, зачастую сами же и преподавали. Мне повезло: тогда как раз исполнилось 6 лет и мои родители такую школу организовали. Поначалу нас было всего человек семь, и занимались мы в помещении детского клуба. Потом подросли наши младшие братья и сестры, организовали еще один класс и переехали в помещение детского садика, потом еще пару классов набрали. Всего в Екатеринбурге тогда было создано до десятка подобных заведений. Ближе к двухтысячным все они либо диссипировали, либо превратились в большие коммерческие школы. С моей школой этого не произошло, благодаря нескольким энтузиастам это по прежнему 5 классов по ~10 человек в каждом, и денег на ней никто не зарабатывает.
…Поначалу мне выделили четыре часа вместо уроков информатики для десятого и одиннадцатого классов. Так получилось, что в этих двух классах в текущем учебном году в сумме всего 10 человек — 3 мальчика и 7 девочек, их мне и предстояло учить.
Подготовился я к занятиям основательно, написал две методички:


Для начала предполагалось реализовать простейшее автоматическое включение света: к Разбери с Пифэйс подключались диодный фонарик и ИК-датчик движения, далее запускался скрипт на питоне, который в цикле опрашивал датчик и при срабатывании включал фонарик (шесть строчек). Управлять Разбери — через SSH.
За день до занятия попросил раздать методички ученикам. На следующий день собрал все барахло (Raspberry, Piface, датчики движения, диодные фонарики, блоки питания на 5 и 12 вольт, монтажные проводки) и пошел на занятия.

Как это происходило

Комплекта у меня было всего три, а учеников 10, поэтому мы составили парты буквой “П”, посередине поставили еще одну парту и разложили на ней железки с кучей проводов (к вышеперечисленному добавились еще три витых пары для подключения Разбери к сети; фотографий, к сожалению, не осталось). Дети расселись по двое за компьютер, две пары работали с одним Разбери.
Сначала я показал, какую классную штуку мы собираемся делать — со своего компьютера в интерпретаторе питона включил-выключил фонарик. Вроде понравилось. Далее я в общем объяснил, что же это я и как сделал, мальчики начали подключать девайсы к двум оставшимся Разбери, а девочки расселись по компьютерам и начали по методичкам воспроизводить мои действия.
Поскольку методички я писал из головы, сразу проявился косяк — отсутствие звездочек при вводе пароля в Putty воспринимали не иначе, как зависание. Но с этим разобрались и до конца первой пары занятий все успели включить фонарик и считать данные с датчика движения.
На следующей паре изучали питон, писали простейшие скрипты. Тут я в подготовке к занятиям совершил большую ошибку — не протестировал работу с mc, на котором предполагалось все это делать. Оказалось, что при работе через Putty весь экран mc заполнялся мусором. Кроме того, питон почему-то не воспринимает двойной таб в редакторе mc как двойной отступ, я это долго не мог отловить и понять, в чем дело. В итоге к концу занятий все написали простейшие скрипты, опрашивающие датчики, вроде всем понравилось.

Продолжение

Больше меня на уроки информатики не пускали и я предложил детям заниматься факультативно, вызвались четыре человека. Нужно было сформулировать для них задачу. Тут-то и сыграло свою роль, что школа некоммерческая, и у детей нет к ней потребительского отношения: когда я предложил сделать для родной школы умную сигнализацию, они согласились.
Методичек писать не стал, решил, что по ходу будем формулировать задачи и решать их. Для начала — пусть еще по-изучают питон. Установил на два компьютера Linux Mint (как мне кажется, наиболее подходящая для обучения система), в нем — IDLE. Пришел на урок, первое, что взбрело в голову — пусть решат квадратное уравнение. И пусть еще уравнение задается в виде строки. Сделали.
Обычную сигнализацию сделать слишком просто: в каждую комнату по датчику, подключить к Разбери, на Разбери скрипт в семь строчек. Нужна задача поинтереснее. Например, по срабатыванию датчиков определить количество человек в помещении — и алгоритм сложнее, и датчики нужно умнее расставлять. Нужно подумать, как это будет работать. Вот тут-то мы и зарубились… Суть в том, что срабатывание обычных ИК-датчиков движения, которые используются в сигнализациях, которые использовали и мы, не зависит от количества людей в поле зрения. Потому единственный способ решения задачи — обрабатывать последовательность срабатывания датчиков, то есть перемещения людей, поскольку перемещаются люди чаще по одиночке. Задача осложнялась еще и инертностью датчиков: при разовом срабатывании датчик размыкает контакт на ~10 секунд. Я подозреваю, что в математике есть специальный раздел для решения подобных задач, однако мы так заморачиваться не стали, пошли простой крестьянской логикой, в итоге, потратив в общей сложности часов 10 на мозговой штурм, кое-какой алгоритм сформулировали. Если коротко — решили тупо перебирать все возможные последовательности перемещения людей и определять, при каком минимальном количестве людей эти последовательности реализуются. Кроме прочего мы пришли к выводу, при типичном одновременном нахождении в помещении более 50 человек обычными ИК-датчиками мы их количество никак не определим. И тут начинается следующая веха нашего проекта.
Я сразу решил, что 4 человека для занятий — это мало, нужно привлекать еще и восьмой класс. Им нужно что-то попроще, пусть это будут машинки для мальчиков и адресные RGB-гирлянды для девочек. Сделал соответствующий заказ на ебэе. Помимо прочего мне приехали еще 3 датчика расстояния. Мы со старшеклассниками решили установить их в проем входной двери для точного определения числа вошедших людей.
Собственно это то, до чего мы дошли к настоящему моменту, to be continued…
Теги:
Хабы:
+59
Комментарии 22
Комментарии Комментарии 22

Публикации

Информация

Сайт
makeitlab.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия

Истории