Sou novato na Internet das coisas e quero começar minha carreira na Internet das Coisas. Ao pesquisar no Google por startups na IoT, encontrei muitos blogs. E eu encontrei os idiomas usados na IoT como C #, Java, Node.js e os microcontroladores como Arduino, Raspberry Pi, Intel, Netduino etc.
Como sou novato na IoT, não sei qual idioma é melhor e qual microcontrolador eu uso para uma inicialização?
Para a inicialização básica, digo, quero criar um dispositivo que tenha a tela que mostre o tempo para o local indicado no meu celular. Portanto, pode ser um bom exemplo de inicialização que abrange o hardware, a Internet e o software.
O dispositivo será alimentado por bateria, um pequeno display digital e sim restrição de custos.
Qual microcontrolador e idioma devo usar que atenda aos meus requisitos para mostrar o clima?
fonte
Respostas:
Pessoalmente, eu selecionaria um Raspberry Pi 3B para isso, embora seja provavelmente muito mais poderoso do que você realmente precisa. As razões para eu sugerir isso são:
Possui LAN sem fio 802.11 b / g / n integrada, para que você possa conectá-lo a uma rede Wi-Fi e não por um cabo Ethernet
Ele também suporta Bluetooth, para que você possa se conectar ao telefone através disso.
Você também precisará de uma unidade de tela e, convenientemente, existem várias telas projetadas para o Raspberry Pi, como essa tela sensível ao toque 4DPI-32 . Você deve conseguir encaixar a tela diretamente no cabeçalho de 40 pinos:
Fundação Raspberry Pi , CC BY-SA 4.0 . Sei que tecnicamente é um Pi 2B, mas o GPIO é o mesmo no 3B.
Quanto ao aspecto de programação, neste caso, tudo o que você precisa fazer é buscar o clima de uma API em algum lugar e exibi-lo na tela como um programa GUI. A tela funciona como qualquer saída HDMI para o Pi, então você não precisa fazer nada de especial. Para o Python, você pode usar o Tkinter para criar uma interface de usuário básica, ou pode optar por escrever um aplicativo da Web em HTML / CSS / JS, dependendo do que você se sentir confortável. Você pode usar a API do OpenWeatherMap gratuitamente; a documentação está vinculada para cada terminal da API.
Neste ponto, cabe a você realmente. O melhor idioma aqui é o idioma com o qual você se sente mais confortável. Se você gosta do AngularJS, basta criar uma página HTML, buscar o clima com Angular (ou usar uma biblioteca como esta para ajudá-lo) e exibi-la usando CSS para torná-la agradável.
Para realmente obter a localização, suspeito que seria mais fácil permitir que o usuário digite sua localização na tela de toque do Pi. Enviar o local do seu telefone provavelmente é um pouco mais difícil, embora você possa encontrar algo se pesquisar muito.
Para o uso da bateria, vale a pena ler esta pergunta no Raspberry Pi Stack Exchange .
fonte
O Onion Omega 2 afirma ser o menor computador Linux do mundo. Essa afirmação pode não ser verdadeira (veja o vocore2 abaixo, por exemplo), mas, na minha experiência, ela deve ser a menor possível. Tem alguns escudos disponíveis em seu site . Produto novo, parece ter uma comunidade forte e ativa. Os apoiadores do Kickstarter adquirem o dispositivo. Vale a pena conferir.
Além disso, como apontado nos comentários, confira o vocore2 , que na verdade parece ser menor que o Onion, e mais barato em US $ 4. Atualmente, ele está sendo financiado no IndieGoGo e as datas de entrega estimadas são fevereiro de 2017 (no próximo mês, no momento em que este artigo foi escrito). Também parece ter uma variedade de docas disponíveis e possui um roteador wifi embutido, o que é bem legal.
Acabei de encontrar aqueles no outro dia e não tenho experiência com eles. Observe, no entanto, devido à sua novidade, alguns dos pacotes do Linux que você pode estar acostumado a usar ainda não estão disponíveis (por exemplo, eu sei que, no momento em que escrevi este artigo, um pacote gstreamer não estava disponível no Onion no entanto, você deve construir a partir da fonte, embora o gstreamer não seja relevante para você).
Além disso, como a outra resposta diz, o Pi é um ótimo dispositivo de baixo custo. Não se esqueça do Raspberry Pi Zero , outro computador minúsculo de US $ 5 ao longo da linha Onion. Ele não possui todas as portas que os Pi maiores possuem, mas se você não se importa, ou se deseja apenas usar um 3 para desenvolvimento e um Zero para seu tamanho nos produtos finais, é outra opção que vale a pena considerar.
Outros dispositivos, alguns caros, incluem:
Observe também que o Vilros faz alguns kits de iniciantes impressionantes do Pi (mais baratos na Amazon) pré-empacotados com um sistema operacional, Wifi funcionando, dissipadores de calor, um estojo, funciona imediatamente e economiza uma tonelada de trabalho de instalação. Também vale a pena conferir se você seguir a rota do Pi. Vilros também costumava fazer kits de iniciação Beaglebone, que não parecem mais estar disponíveis no site, mas se você pesquisar em Newegg / Amazon / etc. você ainda pode encontrar o estoque disponível.
A propósito, um Arduino (ou outro microcontrolador, em contraste com os computadores de placa única completos listados acima) por si só provavelmente não é o que você deseja aqui. O Arduino é apenas um Atmel ATmega168 / 328. Ele não roda um sistema operacional e realmente não faz nada além do que você pede. Por exemplo, para redes, você precisaria do escudo ethernet, que é fornecido com uma biblioteca de controle ethernet completa que, acredito, fornece uma pilha TCP e UDP (eu nunca o usei, apenas navegando no site) e, é claro, ocupa um muito espaço de código limitado.
Então você teria que criar seu cliente climático e tudo o mais, e você teria que fazer tudo isso em 32 KB ou menos. É um sabor de desenvolvimento diferente do desenvolvimento do Linux / Windows no Pi / Beaglebone / Gumstix / Colibri / etc. Um pouco fora do escopo desta resposta.
O que o Arduino é bom aqui é como um complemento ao seu sistema principal para fazer coisas de interface de hardware, como sensores de pressão de leitura, botões, controlar elementos eletrônicos básicos, esse tipo de coisa.
O desenvolvimento de sistemas embarcados é um animal totalmente diferente do que o desenvolvimento de desktops que você faria no Pi, e eu realmente não recomendaria tentar fazer isso apenas com um Arduino, especialmente sem experiência.
fonte
Sugiro uma abordagem passo a passo para descobrir qual idioma e controlador você deve usar. O microcontrolador necessário dependerá das tarefas que você deseja executar. Teoricamente, a tarefa estabelecerá alguns requisitos que um microcontrolador apropriado atenderá, portanto, você deve escolher o microcontrolador por esses requisitos.
Defina uma história de usuário para o dispositivo. O que você espera disso? Do que você quer que seja capaz?
No seu caso, ele já está definido por você:
Agora, o passo 1. fornece algo para você começar. Você pode decidir qual hardware precisa no nível do diagrama de blocos.
Você certamente precisará de um monitor e, possivelmente, de um módulo WiFi ou Bluetooth para se comunicar com seu celular. Acessar bancos de dados climáticos globais possivelmente requer conexão à Internet. Você deve controlar os dois com um MCU ou o módulo WiFi (você precisa da Internet para excluir o Bluetooth) e deve poder controlar a exibição e executar o software.
Você pode começar a procurar peças específicas. Você pode começar a decidir qual bateria usará para poder levar em consideração o consumo de energia de suas peças em potencial. Resumi um processo geral para selecionar MCUs em uma das minhas respostas anteriores . Basicamente, o mesmo deve ser feito aqui. Encontre um monitor barato, ele provavelmente usará uma interface SPI ou I2C para comunicação. Em seguida, você pode procurar um módulo Wifi com SPI / I2C e possui um MCU integrado ou um MCU separado e um módulo WiFi. O módulo WiFi individual provavelmente usará o UART para se comunicar, portanto o MCU individual deve ter isso ao longo do SPI / I2C.
Quanto ao idioma. A maioria dos microcontroladores limitará suas possibilidades neste campo. Na maioria dos casos, suas escolhas serão C, C ++ ou Assembly, falando estritamente de microcontroladores aqui e não de computadores de placa única.
Se você optar por usar um BeagleBone ou Raspberry que possa rodar Linux ou outro sistema operacional poderoso, eu digo que a melhor linguagem será a que você conhece melhor, é claro que deve ser capaz de lidar com a tarefa. ( Você pode executar o Java no RPi, se quiser. )
A abertura de um soquete para um serviço global de dados climáticos também pode ser feita em C, C # ou Python. Seria um pouco mais difícil processar JSON com C, mas certamente possível.
Falando sobre custos em geral. A melhor opção é procurar dispositivos de exibição habilitados para WiFi, haverá muitos resultados e a maioria deles usará o mesmo hardware, e provavelmente este será o mais barato.
Você pode usar um módulo WiFi ESP8266 compatível com Arduino para conectar-se à Internet e fazer interface com um monitor. Isso exigirá muitos ajustes do que um Raspberry Pi exigiria, mas será mais barato.
Aqui está um projeto Hackaday sobre o display ESP8266 + OLED .
fonte
Criar uma startup não é sobre o que você pode fazer com a tecnologia e nem sobre o produto. Para uma startup bem-sucedida que possa cativar os VCs, você deve primeiro pensar no mercado que irá atender. Mas pensar no mercado que você atenderá não é suficiente. Você precisa ter dados reais sobre o mercado. Não é apenas algo que faz sentido para você. Criar um produto e depois tentar vendê-lo não é uma abordagem bem-sucedida e é assim que a maioria das startups malsucedidas termina. Um mercado é uma NECESSIDADE REAL. Ao criar um produto, crie-o para abordar um mercado específico. É isso que faz um produto de sucesso, um produto que se vende porque as pessoas já o procuram. Os VCs investem apenas em startups que possuem esses produtos, especialmente se já estiverem vendendo.
Para escolher uma tecnologia para desenvolver seu produto primeiro, você precisa saber o que seu produto precisa fazer, é assim que resolverá o problema no mercado selecionado. Em seguida, observe o que os clientes em potencial estão dispostos a pagar por isso. Em seguida, escolha a tecnologia que permite o menor tempo de colocação no mercado, mantendo o custo dentro do orçamento. Terceirize o desenvolvimento ou obtenha um parceiro que possa fazê-lo e esteja disposto a trabalhar com você. Compartilhe os lucros 50/50 com seu parceiro. Então, quando você tiver um protótipo, comece a traçar seu plano de negócios e lembre-se de que só poderá cativar VCs se mostrar a eles como eles podem ganhar dinheiro.
Se você precisar reduzir o custo do seu produto para produção em massa, poderá usar linguagens de nível inferior e microcontroladores com menos recursos, como Microchip PIC ou Silicon Labs EFM com ASM / C / C ++. Se o produto não estiver indo para produção em massa (100k +), use uma linguagem de nível superior e microcontroladores com mais recursos, como Micro Python ou Lua com ARM32 MIPS, ou mesmo Linux com ARM32 / 64. Isso economiza nos custos de desenvolvimento, mas aumenta o preço do hardware. Lembre-se, o preço do produto não é apenas um PCB com componentes; desenvolvimento, habitação, embalagem e tudo o mais necessário para vender o produto devem ser investidos no seu custo. Coloque isso no plano de negócios. E não vá a um VC com um Arduino ou um Raspberry Pi ou um Onion ou qualquer coisa que pareça um gadget amador,
Arranque, não baixo, e o melhor da sorte.
fonte