Как студент информатики, как я могу развить навыки для работы IoT вне формального образования?

25

Чтобы преуспеть в области, связанной с компьютерными науками, студент колледжа должен сделать гораздо больше, чем просто получить степень - он должен сделать все возможное, чтобы быть конкурентоспособным с другими в этой области.

Будучи студентом CS, я относительно доволен программным аспектом IoT, но менее доволен электроникой и общей конструкцией датчика / устройства с поддержкой Интернета.

Что касается IoT, что я могу сделать, чтобы развить свои навыки? В частности, меня интересуют вещи, которые не могут преподавать в колледже для моего курса CS, чтобы помочь мне в будущем с получением работы или продвижением в этой области.

Greg
источник
3
Можете ли вы выполнить какое-либо задание, связанное с IoT, в колледже? Купите несколько Raspberry Pi Zero W (или похожих, но они самые дешевые), придумайте проект. Может быть, получить шляпу датчика; в противном случае найдите бесплатный JSON API, который предоставит вам данные, и опубликуйте их на веб-сайте. Тогда поднимайся. Посмотрите на Зигби и MQTT . Опубликуйте несколько проектов GitHub или веб-сайтов, которые вы можете показать людям. Может быть, принять участие в более крупном, существующем проекте FOSS. Начните с малого, поднимитесь, добавьте сложность и сделайте ее заметной, затем добавьте ее в свое резюме.
Mawg
FWIW, я вижу много вакансий Zigbee, но пока нет ни одного для MQTT, но я все равно буду изучать MQTT на вашем месте.
Mawg

Ответы:

16

Я был преподавателем в университете на факультете, который сейчас преподает IoT, и ваши наблюдения верны, когда речь идет о том, чтобы испачкать руки игрушками, а не просто получить степень. Многие ученые-компьютерщики работают в сотрудничестве с инженерами, такими как инженеры связи, инженеры-технологи, чтобы найти уникальные решения, в которых IoT становится интересным приложением.

Я думаю, вы можете начать с изучения различных стеков протоколов связи, таких как:

  1. IEEE 802.15.4, который включает в себя такие области, как беспроводные сенсорные сети и хорошо известный ZigBee . Посмотрите на Contiki-OS и RIOT-OS . Сами сенсорные узлы стоят немного дороже, но университетский отдел, который может работать на местах, может дать вам немного поиграть.

  2. Дорогие инструменты, которые, я полагаю, вы можете начать понимать, если вы обращаетесь к исследовательскому институту и ​​/ или отрасли, - это Weightless P , SigFox , LORAWAN и т. Д. Они дадут вам подробное представление о телекоммуникациях, таких стеках, как 3G и LTE, и их участии в Интернет вещей и индустрия 4.0 .

  3. IoT прогрессирует в области « умного дома» и автоматизации , поэтому вы можете взглянуть на такие инструменты, как openHAB и OpenThread, а также изучать информатику и разрабатывать полезные API.

  4. Наконец, что не менее важно, любое устройство с платформой с открытым исходным кодом, такое как Raspberry Pis и другие микроконтроллеры, может использоваться в сочетании с модулями беспроводной связи вышеупомянутых технологий для создания простых и / или сложных решений IoT.

инструменты

Как специалист по IoT, языки программирования, такие как C / C ++, Java и Python, пройдут долгий путь. Разработка внешнего интерфейса , HTML, CSS, JavaScript, jQuery и т. Д. Позволит лучше понять работу с интернет-типами данных, такими как JSON, XML, простой текст, CBOR и т. Д. , А также с бэкендом , таким как Node.js, Flask от Python и Ruby on. Rails поможет вам настроить наиболее часто используемые модели клиентских серверов.

Git и репозитории с открытым исходным кодом дадут вам скачок в приложения и различные API, которые можно использовать для ваших будущих проектов.

Чем больше вы углубляетесь, тем лучше будут ваши навыки работы с инструментом и понимание IoT.

Shan-Десаи
источник
7

IoT обладает широким спектром компьютерных технологий и охватывает широкий спектр технологий, реализаций и тактик. Короче говоря, это просто означает, что все связано с каналом связи, например, Интернет. Понимание того, как вещи соединяются с вещами, вероятно, является ключевым: обмен сообщениями, событиями, потоками.

Я бы взял несколько небольших устройств, неважно, какие они, но самое простое - на основе Arduino или Pi. Получите что-то с WiFi или что-то, что поддерживается существующим облаком, например, Photon.

Наклейте на него несколько датчиков. Температура является каноническим примером. Начните засасывать данные и хранить их. Затем возьмите эти данные и проанализируйте их; любое количество способов сделать это.

Если вас больше интересует анализ (коммуникация здесь на самом деле не сложная вещь - библиотеки справляются с этим, будь то WiFi, BT, ZigBee, ...), тогда есть много наборов данных, например, данные о турникетах метро Нью-Йорка. ,

Дэйв Ньютон
источник
7

Интернет вещей огромен. Он состоит не только из компьютерных наук, но и из домашних приложений, таких как Google Home и т. Д. Если вы в конечном итоге начнете продавать, то может быть полезно узнать что-то о доступных устройствах.

Я лично рекомендую несколько вещей:

1. Подпишитесь на хорошие журналы.

Существует множество журналов и актуальных статей, которые помогут вам быть в курсе того, что происходит в мире IoT; Журнал IoTolution - это журнал, который я часто читаю. Еще один, содержащий много ценной технической информации, - это журнал M2M .

2. Получите несколько устройств IoT.

Это мало что делает для вашей информатики, но знакомит вас с тем, что доступно. В зависимости от того, в какой области вы работаете, могут быть полезны широкие общие знания о том, что доступно. Подумайте о том, чтобы приобрести несколько IoT-коммутаторов и установить их или даже создать собственные IoT-устройства по дому.

Просто мои 2 цента (что округляется в Канаде), но надеюсь, что это поможет!

anonymous2
источник
1
Широкий фон очень полезен, даже если он помогает вам общаться с экспертами в других областях.
Шон
3

Как отмечалось в других ответах, лучший способ научиться - это делать - в данном случае, погружаться и проектировать устройство от начала до конца, чтобы понять процессы и этапы, связанные с разработкой IoT.

Эта проблема очень похожа на ту, с которой вы сталкиваетесь в разработке программного обеспечения / программировании - многие университетские курсы преподают своим студентам информатику , то есть теорию и концепции, лежащие в основе разработки программного обеспечения. Но после 3 или 4 лет обучения их бросают в мир, чтобы найти работу по программированию, и им не хватает практических навыков, необходимых для успешного разработчика.

В Индии утверждают, что только 7% выпускников действительно могут работать инженером-программистом, потому что:

В то время как огромное количество студентов-инженеров в стране изучают свои учебники, сдают экзамены и получают дипломы, только когда они сталкиваются с проблемами реального мира, они осознают свою нехватку. К тому времени им нужно уделить дополнительное время, чтобы освоить себя или пострадать от безработицы.

Я уверен, что вы можете увидеть параллель здесь - если вы хотите войти в область IoT, вы должны быть в состоянии понять, как разработать устройство и инфраструктуру, в которой оно нуждается .


Несколько вещей, которые следует учитывать, когда вы начинаете делать свой прототип:

  • Он не должен быть революционным - как учебный проект, нет ничего плохого в выполнении чего-то простого. Ключевым моментом здесь является достижение достижимой конкретной цели .

  • Как только у вас есть цель, разбейте задачу на шаги . Это будет трудно ; если это ваш первый проект, вы обязательно почувствуете себя немного растерянным. Важно здесь ...

  • Создайте группу людей, которые могут вам помочь. Если вы в учебном заведении, вам повезло - будет множество страстных, знающих людей. Почти наверняка они будут заинтересованы и захотят вам помочь; в конце концов, каждый должен быть их, потому что информатика - их страсть!

Если вы не можете найти кого-то, кто может помочь, всегда есть сайты для энтузиастов, экспертов и опытных пользователей, которые могут дать вам несколько советов!

Аврора0001
источник
3

Я бы предложил сделать свой собственный проект.

Мне очень понравилась книга Дерека Моллой « Изучение BeagleBone» .

Вы могли бы тогда сделать следующее

  • Получить черный Beaglebone
  • Сделайте все проекты в книге Дерека, (хорошее введение в электронику и датчики для IoT)
  • Продлить проект
  • Опубликуйте свой проект на GitHub или Bitbucket

Когда вы идете на собеседование, теперь вы можете говорить о проекте IoT, который вы сделали. Упомяните, что в настоящее время он работает в прямом эфире и что он находится на GitHub, если работодатель хочет узнать больше.

Это показывает работодателю, что вы действительно заинтересованы в IoT, обладаете компетенцией в этой области и являются отличной темой для собеседования.

SeanJ
источник
2

Если вы не создали реализацию встроенного приложения, вы будете значительно отставать от своих более опытных коллег. Ясно, что вы будете ограничены выбранной вами областью, но в идеале вы должны иметь практический опыт работы со всем стеком - от датчика к ценностному предложению. На этом этапе самое ценное - это найти проблемы, а не хороший результат.

Шон Хулихейн
источник
2

Шаг 1: Перестаньте тратить так много времени на видеоигры

Шаг 2: Начните простой проект и станьте действительно успешным в поиске Google. Разбейте каждый фрагмент проекта на более мелкие, более управляемые фрагменты. Решайте каждую проблему по одной, а затем переходите к следующей, пока ваш проект не будет завершен.

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

Например, в настоящее время я работаю над панелью солнечных батарей с автоматическим отслеживанием солнца, которая регистрирует данные о заряде и заряде батареи на онлайн-панели. Первое, что мне нужно было сделать, это выяснить, как сделать мигание светодиода на ESP8266 с помощью Arduino IDE. Затем я должен был выяснить, как я собирался получать показания света и напряжения с аналоговым входом. Каждый шаг занимал от часа до дней, но до сих пор я многое узнал об электронике и о том, как написанный код взаимодействует с каждым компонентом.

Конечно, идея вашего проекта должна быть чем-то, что вы чувствуете достаточно страстным, чтобы довести его до конца.

Главное, что я всегда нахожу, это то, что, если я получаю от этого удовольствие, тем больше я хочу это делать. Но на самом деле, в IoT не так уж много интересного!

TheFreddyKilo
источник
1

Раньше я был Компьютерным Компьютерщиком, мое падение было математикой, из-за трудностей с обучением мои базовые знания по математике были на уровне ученика приемного класса, и так будет всегда.

То, как я узнал о компьютерах, эксперименты, YouTube, проб и ошибок, терпение.

90% компьютеров - это терпение, а остальные 10% - это повторение.

Если у вас есть интерес к компьютерам, воспитывайте их и воспитывайте, как своего собственного ребенка. Ваш интерес поблагодарит вас однажды.

Джонатон Мирза
источник