Ameba-RTL8195AM Mainboard

简介

Ameba-RTL8195AM Mainboard一款搭载RTL8195的嵌入式开发板,兼容Arduino,适合开发各式物联网应用。Ameba-RTL8195AM Mainboard集成有Cortex-M3(内核), Wi-Fi, Ethernet, NFC, UART, SDIO, USB(HOST), I2C, I2S, SPI, ADC/DAC等硬件资源。

产品参数

Realtek3.png

引脚说明

:Ameba_board.png
序号 丝印 功能描述
1 T/R boot 按钮
2 N/R 调试器复位按钮
3 Pdn RTL8195AM复位按钮
4 CMSIS—DAP 固件烧录及USB供电USB接口
5 USB USB HOST 及USB供电USB接口
6 未标 N/R边黑色塑料方形圆孔 内带有金属插针——直流7~20v 接口
7 未标 三色LED左边 金色 金属带螺纹状接口——RTL8195AM RF天线
8 未标 主板正上方5圈螺纹状走线——NFC 天线
9 JTAG 三色LED左边 金色 10个通孔焊盘——板载 JTAG接口 (丝印在板子反面)
10 UART Pdn按钮 左下方4个通孔焊盘——板载UART接口 (丝印在板子反面)

按钮 和部分接口说明

ArduinoIDE设置

让IDE支持Ameba-RTL8195AM Mainboard

https://github.com/Ameba8195/Arduino/raw/master/release/package_realtek.com_ameba_index.json ;

image:IDE1.png| image:IED2.png|

找到Ameba-RTL8195A开发板

找到Ameba-RTL8195A开发板

在IDE中选择Ameba-RTL8195A

Realtek2.png

部分功能例程

WIFI 猎手

实验代码

#include <WiFi.h>

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  // check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    // don't continue:
    while (true);
  }

  String fv = WiFi.firmwareVersion();
  if (fv != "1.1.0") {
    Serial.println("Please upgrade the firmware");
  }

  // Print WiFi MAC address:
  printMacAddress();
}

void loop() {
  // scan for existing networks:
  Serial.println("Scanning available networks...");
  listNetworks();
  delay(10000);
}

void printMacAddress() {
  // the MAC address of your Wifi shield
  byte mac[6];

  // print your MAC address:
  WiFi.macAddress(mac);
  Serial.print("MAC: ");
  Serial.print(mac[0], HEX);
  Serial.print(":");
  Serial.print(mac[1], HEX);
  Serial.print(":");
  Serial.print(mac[2], HEX);
  Serial.print(":");
  Serial.print(mac[3], HEX);
  Serial.print(":");
  Serial.print(mac[4], HEX);
  Serial.print(":");
  Serial.println(mac[5], HEX);
}

void listNetworks() {
  // scan for nearby networks:
  Serial.println("** Scan Networks **");
  int numSsid = WiFi.scanNetworks();
  if (numSsid == -1) {
    Serial.println("Couldn't get a wifi connection");
    while (true);
  }

  // print the list of networks seen:
  Serial.print("number of available networks:");
  Serial.println(numSsid);

  // print the network number and name for each network found:
  for (int thisNet = 0; thisNet < numSsid; thisNet++) {
    Serial.print(thisNet);
    Serial.print(") ");
    Serial.print(WiFi.SSID(thisNet));
    Serial.print("\tSignal: ");
    Serial.print(WiFi.RSSI(thisNet));
    Serial.print(" dBm");
    Serial.print("\tEncryptionRaw: ");
    printEncryptionTypeEx(WiFi.encryptionTypeEx(thisNet));
    Serial.print("\tEncryption: ");
    printEncryptionType(WiFi.encryptionType(thisNet));
  }
}

void printEncryptionTypeEx(uint32_t thisType) {
    switch (thisType) {
    case SECURITY_OPEN:
      Serial.print("Open");
      break;
    case SECURITY_WEP_PSK:
      Serial.print("WEP");
      break;
    case SECURITY_WPA_TKIP_PSK:
      Serial.print("WPA TKIP");
      break;
    case SECURITY_WPA_AES_PSK:
      Serial.print("WPA AES");
      break;
    case SECURITY_WPA2_AES_PSK:
      Serial.print("WPA2 AES");
      break;
    case SECURITY_WPA2_TKIP_PSK:
      Serial.print("WPA2 TKIP");
      break;
    case SECURITY_WPA2_MIXED_PSK:
      Serial.print("WPA2 Mixed");
      break;
    case SECURITY_WPA_WPA2_MIXED:
      Serial.print("WPA/WPA2 AES");
      break;
  }
}

void printEncryptionType(int thisType) {
  // read the encryption type and print out the name:
  switch (thisType) {
    case ENC_TYPE_WEP:
      Serial.println("WEP");
      break;
    case ENC_TYPE_TKIP:
      Serial.println("WPA");
      break;
    case ENC_TYPE_CCMP:
      Serial.println("WPA2");
      break;
    case ENC_TYPE_NONE:
      Serial.println("None");
      break;
    case ENC_TYPE_AUTO:
      Serial.println("Auto");
      break;
  }
}

实验结果 打开 arduino IDE 右上角的串口监视器 可以看到 附件WiFi热点信息 Realtek5.png

NFC之初体验

'' 用Ameba-RTL8195AM Mainboard 的 NFC功能 实现和带有NFC功能的现通信''' 实验代码

#include <NfcTag.h>

void setup() {
  NfcTag.appendRtdUri("baidu.com");
  NfcTag.begin();
}

void loop() {
  delay(1000);
}

实验步骤

实验结果 在手机端可以看到 我们要访问的 网址 “WWW.baidu.com” NFC.jpg 注:程序烧录 完成后 手机需放在Ameba-RTL8195AM Mainboard主板上NFC天线上方5cm 左右的位置

小小无线监控站

在这里 我们 需要用到Ameba-RTL8195AM Mainboard 的USB HOST功能和 Wi_Fi AP功能 前期准备 Ameba-RTL8195AM Mainboard控制器 x 1 USB OTG 转接线 X 2 安卓手机 一部 X 1 USB数据线 X 2 计算机一台 X 1 连接示意图 UVC.png 实验例程

#include <WiFi.h>
#include <UVC.h>

char ssid[] = "Dfrobot";        // Set the AP's SSID
char pass[] = "12345678";     // Set the AP's password
char channel[] = "6";         // Set the AP's channel
int status = WL_IDLE_STATUS;  // the Wifi radio's status

void setup() {

  status = WiFi.status();

  // attempt to connect to Wifi network:
  while (status != WL_CONNECTED) {
    Serial.print("Attempting to connect to WPA SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network:
    status = WiFi.apbegin(ssid, pass, channel);
    if (status == WL_CONNECTED) {
      break;
    }
    // wait 10 seconds for connection:
    delay(10000);
  }
  Serial.println("AP mode already started");

  // Default setting is motion jpeg with 320x240 resolution and frame rate is 30fps
  UVC.begin();
  // Try below setting if you want better resolution
  //UVC.begin(UVC_MJPEG, 640, 480, 30, 0);

  // wait until UVC is ready for streaming
  while (!UVC.available()) {
    delay(100);
  }
  Serial.println("UVC is ready");
  Serial.println("Open your rtsp player with this address:");
  Serial.println("\trtsp://192.168.1.1/test.dsp");
}

void loop() {
  delay(10000);
}

注:以上例程 可在官方 例程中找到 实验步骤

Uvc_cup.png

更多

shopping_car.png DFRobot商城购买链接