Pular para o conteúdo principal

Seeeduino GPRS

enter image description here

Seeeduino GPRS é um painel de IoT, você pode se conectar à Internet através da rede sem fio GPRS com ele. Fazer/atender chamadas de voz e enviar/receber mensagens SMS também é suportado. Enquanto isso, o Seeeduino GPRS suporta função de rádio FM e comunicação por bluetooth. Seeeduino GPRS é baseado em Atmage32U4 e SIM800H. Atmage32U4 é um microcontrolador e é compatível com Arduino. SIM800H suporta Quad-band 850/900/1800/1900MHz, ele pode transmitir informações de voz, SMS e dados com baixo consumo de energia. SIM800H também traz alguns recursos extras como, por exemplo, Bluetooth e rádio FM. Ele é projetado com técnica de economia de energia de modo que o consumo de corrente seja tão baixo quanto 0.1mA em modo de repouso.

enter image description here

Ideias de Aplicação

  • Internet das Coisas
  • Casa Inteligente
  • Design Vestível
  • Telefone DIY
  • Industrial

Aqui estão alguns projetos divertidos para sua referência.

Arduino GPS/GSM TrackerArduino Phone 2.0Arduino GPRS Weather Station
enter image description hereenter image description hereenter image description here
Make it NowMake it NowMake it Now

Características

  • Compatível com Arduino Leonardo padrão
  • Quad-Band 850/900/1800/1900MHz
  • Conector para fone de ouvido
  • Suporte conveniente para cartão SIM externo
  • Controle via comandos AT
  • Suporta Bluetooth
  • Suporta rádio FM
  • Corrente < 2A
  • Bootloader Arduino Leonardo

Especificação

Modelo SIM800H

ParâmetroValor
Modelo GPRSSIM800H
Quad-Band850/900/1800/1900MHz
Classe multi-slot GPRS12/10
Classe de estação móvel GPRSB
Padrão de fase GSM2/2+
FM76~109MHz
BluetoothCompatível com 3.0+EDR
Faixa de tensão de alimentação3.4 ~ 4.4V

Microcontrolador AVR Arduino

ParâmetroValor
MicrocontroladorATmega32u4
Memória Flash32KB
SRAM2.5kB
EEPROM1kB
Frequência de clock16MHz
Tensão de operação5V
Pinos de E/S digitais20
Canais PWM7
Canais de entrada analógica12

Visão Geral do Hardware

As imagens abaixo mostram uma visão geral dos recursos de hardware do Seeeduino GPRS. O pin-out e as funções alternativas de vários pinos do Seeeduino GPRS são mostrados no diagrama de pin-out. Isso pode ser usado como uma referência rápida.

enter image description here

  • Chave de Alimentação Chave deslizante usada para alterar o nível lógico e a saída de energia da placa para 5V ou 3.3V. Hoje em dia muitos sensores novos e excelentes estão sendo desenvolvidos para funcionar com 3.3V, com outras placas duino você precisaria colocar um conversor de nível lógico entre a placa e esses sensores, com a placa Seeeduino GPRS tudo o que você precisa fazer é deslizar a chave!

  • Entrada DC A entrada DC permite que sua placa Seeeduino GPRS seja alimentada por um adaptador de tomada para que você possa fornecer mais energia ao seu projeto, se necessário, por exemplo, ao usar motores DC ou outros dispositivos de alta potência. A entrada DC pode ser de 9V-12V e a corrente de pico é 2A. Mas há um bug de hardware no Seeeduino GPRS que você precisa notar. Quando há uma alimentação de energia externa, há um curtíssimo 6V no pino de 5V, que dura cerca de 2ms. É arriscado destruir o dispositivo conectado a 5V. Portanto, recomendamos que você não use a entrada DC para alimentar o sistema. E já consideramos corrigir o bug, mas isso não sairá muito em breve.

  • Breakout para SIM800h Você pode depurar o Sim800h por esta interface.

  • ICSP Esta é a conexão ICSP para o ATMEGA32U4-MUR, ela está localizada na posição padrão ICSP/SPI para hardware compatível com Arduino Uno, Due, Mega e Leonardo (por exemplo, shields) que possam usar este conector. Os pinos SPI nesta porta: MISO, SCK e MOSI, note que esses pinos NÃO estão conectados a D11~D13.

  • LED PWR2 Indicação de alimentação do SIM800H

  • LED STA Indicação de estado de operação

  • LED NET

StatusComportamento do SIM800H
DesligadoSIM800H não está em execução
64ms ligado/800ms desligadoSIM800H não registrou na rede
64ms ligado/3000ms desligadoSIM800H registrado na rede
64ms ligado/300ms desligadoComunicação do SIM800H está estabelecida

Instalar o Driver

Antes de tudo, você precisa:

  • Obter um cabo Micro-USB Você precisa primeiro de um cabo Micro-USB; o cabo de dados de um telefone Android serve bem. Se você não conseguir encontrar um, pode comprar um aqui.

  • Conectar a placa Conecte a placa Arduino ao seu computador usando o cabo USB. O LED verde de alimentação (rotulado PWR) deve acender.

Para Windows

nota

Este driver está disponível para Windows XP, Windows Vista, Windows 7, Windows 8/8.1 e Windows 10.

enter image description here

  • Conecte sua placa e aguarde o Windows iniciar o processo de instalação do driver. Após alguns instantes, o processo falhará, apesar dos melhores esforços.
  • Clique no Menu Iniciar e abra o Painel de Controle.
  • No Painel de Controle, vá para Sistema e Segurança. Em seguida, clique em Sistema. Quando a janela Sistema aparecer, abra o Gerenciador de Dispositivos.
  • Procure em Portas (COM & LPT). Você deverá encontrar uma porta aberta chamada "Seeeduino GPRS". Se não houver seção COM & LPT, procure em "Outros Dispositivos" por "Dispositivo Desconhecido".
  • Clique com o botão direito na porta "Seeeduino GPRS" e escolha a opção "Atualizar Software de Driver".
  • Em seguida, escolha a opção "Procurar software de driver no computador".
  • Por fim, navegue até o arquivo de driver chamado "seeed_usb_serial.inf" e selecione-o
  • O Windows concluirá a instalação do driver a partir daí.

Para Mac OSX

Você não precisa instalar nenhum driver.

Primeiros Passos

nota

Se esta é a sua primeira vez usando Arduino, recomendamos fortemente que você consulte Getting Started with Arduino

Antes de tudo, você precisa instalar um Software Arduino.

enter image description here

Inicie o aplicativo Arduino

Clique duas vezes no aplicativo Arduino (arduino.exe) que você baixou anteriormente.

nota

Se o Software Arduino carregar em um idioma diferente, você pode alterá-lo na caixa de diálogo de preferências. Veja a página Arduino Software (IDE) para detalhes.

Abra o exemplo Blink

Abra o sketch de exemplo de piscar LED: File > Examples >01.Basics > Blink.

enter image description here

Selecione sua placa

Você precisará selecionar a entrada no menu Tools > Board que corresponde ao seu Arduino. Selecionando um Arduino Leonardo. Se você não conseguir encontrar o Arduino Leonardo, verifique How to Add Seeed boards to Arduino IDE

enter image description here

Selecione sua porta serial

Selecione o dispositivo serial da placa Arduino no menu Tools | Serial Port. Provavelmente será COM3 ou superior (COM1 e COM2 são geralmente reservadas para portas seriais de hardware). Para descobrir, você pode desconectar sua placa Arduino e reabrir o menu; a entrada que desaparecer deve ser a placa Arduino. Reconecte a placa e selecione essa porta serial.

enter image description here

nota

No Mac, deve ser algo como /dev/tty.USBmodem.

Envie o programa

Agora, simplesmente clique no botão "Upload" no ambiente. Aguarde alguns segundos e, se o envio for bem-sucedido, a mensagem "Done uploading." aparecerá na barra de status.

enter image description here

Alguns segundos após o término do envio, você deverá ver o LED do pino 13 (LED Pin 13) na placa começar a piscar (em verde). Se isso acontecer, parabéns! Você colocou o Arduino em funcionamento. Se tiver problemas, consulte as sugestões de solução de problemas.

Primeiros Passos no Linux

Para usar no Linux, acesse Installing Arduino on Linux

Função GPRS

Seeeduino GPRS oferece a função de um telefone celular, como fazer/receber chamadas de voz, enviar/receber SMS, fazer uma conexão TCP, etc. Aqui está a Seeeduino GPRS Library, faça o download para o seu computador para usar o Seeeduino GPRS. Aqui está uma breve introdução.

Para começar a brincar com o Seeeduino GPRS, são necessários um fone de ouvido e um cartão SIM.

enter image description here

enter image description here

Para fazer uma chamada

Abra o sketch de exemplo GPRS_CallUp em libraries/Seeeduino_GPRS/example/GPRS_CallUp/, substitua o número de telefone na função callUp, depois compile o sketch e envie-o para sua placa. Seeeduino GPRS chamará o número especificado no código.

#include <gprs.h>
#include <SoftwareSerial.h>

GPRS gprs;

void setup() {
Serial.begin(9600);
Serial.println("GPRS - Call up Test...");
gprs.preInit();//power on SIM800
delay(1000);
while(0 != gprs.init()) { //gprs init
delay(1000);
Serial.print("init error\r\n");
}
Serial.println("Init success, start to call...");
gprs.callUp("150****9566");
}

void loop() {
//nothing to do
}

Para enviar um SMS

Assim como para fazer chamadas, um SMS pode ser enviado com o Seeeduino GPRS. Abra o sketch de exemplo GPRS_SendSMS em libraries/Seeeduino_GPRS/example/GPRS_SendSMS/, substitua o número de telefone e a mensagem na função sendSMS, depois compile o sketch e faça o upload para a sua placa. O Seeeduino GPRS enviará a mensagem para o número especificado no código.

#include <gprs.h>
#include <SoftwareSerial.h>

GPRS gprs;

void setup() {
Serial.begin(9600);
Serial.println("GPRS - Send SMS Test ...");
gprs.preInit();
delay(1000);
while(0 != gprs.init()) {
delay(1000);
Serial.print("init error\r\n");
}
Serial.println("Init success, start to send SMS message...");
gprs.sendSMS("130****3364","hello,world"); //define phone number and text
}

void loop() {
//nothing to do
}

Para atender uma chamada e ler um SMS

Se alguém ligar ou enviar uma mensagem para você, o Seeeduino GPRS também pode atender a chamada ou ler a mensagem. Abra o sketch de exemplo GPRS_LoopHandle em libraries/Seeeduino_GPRS/example/GPRS_LoopHandle/, então compile o sketch e faça o upload para a sua placa; o Seeeduino GPRS fará uma varredura para verificar se há uma chamada ou SMS recebidos. Se houver uma chamada recebida, o Seeeduino GPRS atenderá a chamada automaticamente. Se houver um SMS recebido, o Seeeduino GPRS mostrará a mensagem no Serial Monitor.

#include <gprs.h>
#include <SoftwareSerial.h>
#include <stdio.h>

char gprsBuffer[64];
int i = 0;
char *s = NULL;
int inComing = 0;

GPRS gprs;

void setup() {
Serial.begin(9600);
Serial.println("GPRS - LoopHandle Test...");
gprs.preInit();
while(0 != gprs.init()) {
delay(1000);
Serial.print("init error\r\n");
}
Serial.println("Init success, start to monitor your call or message...");
}

void loop() {
if(gprs.serialSIM800.available()) {
inComing = 1;
}else{
delay(100);
}

if(inComing){
gprs.readBuffer(gprsBuffer,32,DEFAULT_TIMEOUT);
Serial.print(gprsBuffer);

if(NULL != strstr(gprsBuffer,"RING")) {
gprs.answer();
}else if(NULL != (s = strstr(gprsBuffer,"+CMTI: \"SM\""))) { //SMS: $$+CMTI: "SM",24$$
char message[MESSAGE_LENGTH];
int messageIndex = atoi(s+12);
gprs.readSMS(messageIndex, message,MESSAGE_LENGTH);
Serial.print(message);
}
gprs.cleanBuffer(gprsBuffer,32);
inComing = 0;
}
}

Função de Rádio FM

O Seeeduino GPRS tem uma função de rádio FM. Abra o sketch de exemplo FM_Test em libraries/Seeeduino_GPRS/example/FM_Test/, conecte um botão à sua placa, depois compile o sketch e faça o upload para a sua placa; o Seeeduino GPRS funcionará como um rádio FM. Até mesmo o canal pode ser alterado com o botão.

#include <fm.h>
#include <SoftwareSerial.h>

int channelButton = 5; //used for changing channel
FM fm;

void setup() {
pinMode(channelButton,INPUT);
Serial.begin(9600);
Serial.println("FM Test...");
fm.preInit();
while(0 != fm.powerOn()){
Serial.println("FM power on failed, try again...");
delay(2000);
}
fm.setVolume(6); //0,1,2,3,4,5,6
fm.scanChannel();
Serial.println("FM init success");
}

void loop() {
while(HIGH == digitalRead(channelButton)){
delay(50);
}
Serial.print("change Channel\r\n");
fm.channelNext();
while(LOW == digitalRead(channelButton)){
delay(50);
}
}

Função Bluetooth

O Seeeduino GPRS pode ser usado como um dispositivo bluetooth, mas ainda não é muito estável. Existem dois sketches de exemplo na biblioteca. O primeiro é Bluetooth AT Command, com o qual você pode enviar comando AT ao Seeeduino GPRS, e o outro é Bluetooth_Communicate, com o qual você pode se comunicar com o Seeeduino GPRS no perfil SPP, mas ele pode falhar ao conectar ao seu dispositivo bluetooth ou celular. A seguir está o código de Bluetooth AT Command.

#include <bluetooth.h>
#include <SoftwareSerial.h>

#define DEFAULT_TIMEOUT 5
#define BT_BUF_LEN 32
BlueTooth bluetooth;

char bluetoothBuffer[BT_BUF_LEN];
int start = 0;

void setup() {
Serial.begin(9600);
Serial.println("Bluetooth AT Command Test...");
bluetooth.preInit();
delay(3*1000);
while(0 != bluetooth.powerOn()){ //bluetooth PowerOn
Serial.println("bluetooth power on failed, try again...");
delay(2000);
}
}

void loop() {
if(bluetooth.serialSIM800.available()) {
start = 1;
}else{
delay(500);
}

if(start){
//bluetooth.cleanBuffer(bluetoothBuffer,64);
bluetooth.readBuffer(bluetoothBuffer,BT_BUF_LEN,DEFAULT_TIMEOUT);
if(NULL != strstr(bluetoothBuffer,"+BTPAIRING:")){
bluetooth.acceptPairing();
}
if(NULL != strstr(bluetoothBuffer,"+BTCONNECTING:")){
bluetooth.acceptConnect();
}
start = 0;
}
}

Visualizador Online de Esquemático

Recursos

Suporte Técnico e Discussão de Produto


Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...