Como estudante de Ciência da Computação, como posso desenvolver habilidades para um trabalho de IoT fora da educação formal?

25

Para se sair bem em um campo relacionado à Ciência da Computação, um estudante universitário precisa fazer muito mais do que apenas obter um diploma - ele deve ir além para ser competitivo com os outros no campo.

Como estudante de CS, estou relativamente confortável com o aspecto de software da IoT, mas menos feliz com o lado da eletrônica e com a construção geral de um sensor / dispositivo com acesso à Internet.

Em termos de IoT, o que posso fazer para desenvolver minhas habilidades? Particularmente, estou interessado em coisas que podem não ser ensinadas na faculdade para o meu curso de CS, a fim de me ajudar no futuro a conseguir um emprego ou a progredir no campo.

Greg
fonte
3
Você pode fazer alguma tarefa relacionada à IoT na faculdade? Compre alguns Raspberry Pi Zero W (ou similares, mas esses são os mais baratos) e pense em um projeto. Talvez consiga um chapéu sensor; caso contrário, encontre uma API JSON gratuita que fornecerá dados e publique os dados em um site. Depois, suba. Veja o Zigbee e o MQTT . Publique alguns projetos ou sites do GitHub, que você pode mostrar às pessoas. Talvez se envolva em um projeto FOSS existente maior. Comece pequeno, suba, adicione complexidade e torne-o visível, depois adicione-o ao seu CV.
MAWG
FWIW, vejo muitas vagas de emprego no Zigbee, mas até agora nenhuma no MQTT, mas eu ainda estaria pesquisando no MQTT se fosse você.
MAWG

Respostas:

16

Fui tutor de uma universidade em um departamento que agora ensina IoT e suas observações são certas quando se trata de sujar as mãos com alguns brinquedos, em vez de apenas um diploma. Muitos cientistas da computação trabalham em colaboração com engenheiros, como engenheiros de comunicação e engenheiros de produção, para criar soluções exclusivas nas quais a IoT se torna um aplicativo interessante.

Eu acho que você pode começar olhando para diferentes pilhas de protocolos de comunicação como:

  1. IEEE 802.15.4, que inclui campos como redes de sensores sem fio e o conhecido ZigBee . Dê uma olhada no Contiki-OS e no RIOT-OS . Os nós dos sensores custam um pouco mais, mas um departamento universitário que pode funcionar no campo pode fornecer algumas dicas para você brincar.

  2. As ferramentas caras que, eu sugiro que você comece a entender se procurar um instituto de pesquisa e / ou indústria são Weightless P , SigFox , LORAWAN , etc. Isso fornecerá informações detalhadas sobre telecomunicações, pilhas como 3G e LTE e sua participação em IoT e Indústria 4.0 .

  3. A IoT está progredindo nas áreas de automação residencial e inteligente , para que você possa ver ferramentas como openHAB e OpenThread e, como estudante de ciência da computação, desenvolver APIs úteis.

  4. Por último, mas não menos importante, qualquer tipo de dispositivo de plataforma de código aberto, como Raspberry Pis e ou outros microcontroladores, pode ser usado em conjunto com os módulos de comunicação sem fio das tecnologias acima mencionadas para criar soluções simples e / ou complexas de IoT.

Ferramentas

Como técnico em IoT, linguagens de programação como C / C ++, Java e Python o levarão muito longe. O desenvolvimento de front-end, HTML, CSS, JavaScript e jQuery, etc., proporcionará uma melhor compreensão do manuseio de tipos de dados da Internet como JSON, XML, texto sem formatação, CBOR etc. e back-end como Node.js, Flask by Python e Ruby on O Rails irá ajudá-lo a configurar os modelos de cliente servidor usados ​​com mais freqüência.

Os repositórios Git e de código aberto oferecem um salto para aplicativos e várias APIs que podem ser usadas para seus próximos projetos.

Quanto mais você se aprofundar, melhores serão suas habilidades de manuseio de ferramentas e entendimento da IoT.

Shan-Desai
fonte
7

A IoT executa toda a gama de computação e abrange uma enorme variedade de tecnologias, implementações e táticas. O resumo é que isso significa apenas que as coisas estão conectadas a um canal de comunicação, por exemplo, a Internet. Compreender como as coisas se conectam às coisas é provavelmente a chave: mensagens, eventos, fluxos.

Eu pegaria alguns dispositivos pequenos, não importa o que eles sejam, mas o mais fácil é baseado no Arduino ou no Pi. Obtenha algo com Wi-Fi ou algo suportado por uma nuvem existente, por exemplo, Photon.

Coloque alguns sensores nele. A temperatura é o exemplo canônico. Comece a sugar dados e armazená-los. Então pegue esses dados e analise-os; várias maneiras de fazer isso.

Se você está mais interessado no lado da análise (a comunicação não é realmente a coisa difícil aqui - as bibliotecas lidam com isso, seja WiFi, BT, ZigBee, ...), existem muitos conjuntos de dados, por exemplo, dados de torniquete do metrô de Nova York .

Dave Newton
fonte
7

A Internet das Coisas é enorme. Ele consiste não apenas na ciência da computação por trás dele, mas também em aplicativos domésticos, como o Google Home, etc. Se você acabar vendendo, saber algo sobre os dispositivos disponíveis pode ser útil.

Eu pessoalmente recomendo algumas coisas:

1. Assine boas revistas.

Existem inúmeras revistas e artigos atualizados disponíveis no mercado que ajudarão a mantê-lo sincronizado com o que está acontecendo no mundo da IoT; A revista IoT evolution é uma que eu leio frequentemente. Outra com muitas informações técnicas valiosas é a revista M2M .

2. Obtenha alguns dispositivos de IoT.

Isso não faz muito pela ciência da computação, mas familiariza você com o que está disponível. Dependendo do campo em que você trabalha, um amplo conhecimento geral do que está disponível pode ser útil. Considere adquirir alguns comutadores IoT e instalar, ou até mesmo criar dispositivos IoT em sua casa.

Apenas meus 2 centavos (que arredondam para baixo no Canadá), mas espero que ajude!

anonymous2
fonte
1
Um amplo histórico é extremamente útil - mesmo que apenas o ajude a conversar com especialistas em outras áreas.
21717 Sean Houlihane
3

Como as outras respostas indicaram, a melhor maneira de aprender é fazendo - nesse caso, mergulhando e projetando um dispositivo do início ao fim para ter uma idéia dos processos e etapas envolvidos no desenvolvimento da IoT.

É um problema muito semelhante ao que você encontra em engenharia / programação de software - muitos cursos universitários ensinam aos alunos ciência da computação , ou seja, a teoria e os conceitos por trás do desenvolvimento de software. Mas, após 3 ou 4 anos de aprendizado, eles são lançados ao mundo para encontrar um trabalho de programação e não possuem as habilidades práticas reais necessárias para ser um desenvolvedor de sucesso.

Na Índia, há alegações de que apenas 7% dos graduados são efetivamente empregáveis como engenheiro de software, porque:

Enquanto o grande número de estudantes de engenharia do país estuda seus livros, faz seus exames e obtém seus diplomas, é somente quando eles encontram os problemas do mundo real que eles percebem seus déficits. Até lá, eles precisam dedicar mais tempo para se habilitar ou sofrer desemprego.

Tenho certeza de que você pode ver o paralelo aqui - se você quiser entrar no campo da IoT, precisará entender como desenvolver um dispositivo e a infraestrutura necessária .


Algumas coisas a considerar, no entanto, quando você começa a criar seu protótipo:

  • Não precisa ser revolucionário - como projeto de aprendizado, não há nada de errado em fazer algo simples. O ponto chave aqui é ter um objetivo específico e realizável .

  • Depois de atingir seu objetivo, divida a tarefa em etapas . Vai ser difícil ; se for seu primeiro projeto, você se sentirá um pouco perdido. O importante aqui é ...

  • Tenha um grupo de pessoas que podem ajudá-lo. Se você está em uma instituição educacional, está com sorte - haverá muitas pessoas apaixonadas e conhecedoras. É quase certo que eles estarão interessados ​​e quererão ajudá-lo; afinal, todos deveriam ser seus porque a Ciência da Computação é a sua paixão!

Se você não consegue encontrar alguém que possa ajudar, sempre há sites para entusiastas, especialistas e usuários avançados que podem lhe dar algumas sugestões!

Aurora0001
fonte
3

Eu sugeriria fazer seu próprio projeto.

Achei muito bom o livro de Derek Molloy, Explorando o BeagleBone .

Você poderia então fazer o seguinte

  • Compre um Beaglebone Black
  • Faça todos os projetos no livro de Derek (uma boa introdução aos componentes eletrônicos e sensores para a IoT)
  • Estender um projeto
  • Publique seu projeto no GitHub ou Bitbucket

Quando você vai para uma entrevista, agora pode falar sobre o projeto de IoT que você fez. Mencione que ele está em execução no momento e está no GitHub se o empregador quiser saber mais.

Isso mostra a um empregador que você está realmente interessado em IoT, tem competência em campo e é um ótimo ponto de conversa para uma entrevista.

SeanJ
fonte
2

Se você não criou uma implementação de um aplicativo incorporado, estará bem atrás de seus colegas mais experientes. Claramente, você será limitado pelo campo escolhido, mas, idealmente, deve ter experiência prática com toda a pilha - sensor para proposição de valor. O que é mais valioso nesta fase é encontrar problemas, e não um bom resultado.

Sean Houlihane
fonte
2

Etapa 1: pare de gastar tanto tempo jogando videogame

Etapa 2: inicie um projeto simples e fique muito bom na pesquisa do Google. Divida cada parte do projeto em pedaços menores e mais gerenciáveis. Resolva cada problema, um de cada vez, depois passe para o próximo até que seu projeto seja concluído.

Você aprenderá lições valiosas ao longo do caminho que poderá usar em outros projetos mais complicados.

Por exemplo, atualmente estou trabalhando em um painel solar de rastreamento solar automático que registra dados de carga e bateria em um painel on-line. A primeira coisa que tive que fazer foi descobrir como fazer um led piscar em um ESP8266 usando o Arduino IDE. Então eu tive que descobrir como obter as leituras de luz e tensão com uma entrada analógica. Cada etapa levava de uma hora a dias para descobrir, mas até agora aprendi muito sobre eletrônica e como o código que eu escrevo interage com cada componente.

É claro que a ideia para o seu projeto deve ser algo que você sinta paixão o suficiente para concluí-la.

A principal coisa que sempre acho é que, se estou me divertindo com isso, mais quero fazê-lo. Mas, realmente, não há muito sobre IoT que não seja divertido!

TheFreddyKilo
fonte
1

Eu costumava ser um nerd de computador, minha queda foi em matemática, por causa das dificuldades de aprendizado, minha matemática básica está no nível de um aluno da turma de recepção, e sempre será.

A maneira como aprendi sobre computadores, experimentação, youtube, tentativa e erro, paciência.

90% dos computadores são paciência e os outros 10% são repetição.

Se você tem interesse em computadores, cuide-o e crie-o como seu próprio filho. Seu interesse agradecerá um dia.

Jonathon Mirza
fonte