(SKU:DFR0476)Ameba-RTL8195AM Mainboard控制器 兼容Arduino
来自DFRobot Product Wiki
目录 |
简介
Ameba-RTL8195AM Mainboard一款搭载RTL8195的嵌入式开发板,兼容Arduino,适合开发各式物联网应用。Ameba-RTL8195AM Mainboard集成有Cortex-M3(内核), Wi-Fi, Ethernet, NFC, UART, SDIO, USB(HOST), I2C, I2S, SPI, ADC/DAC等硬件资源。
产品参数
- 微控制器:RTL8195AM (Cortex M3内核 具体芯片资源 详见 右方配图)
- 时钟速度:166MHz(Max)
- 直流接口输入电压:7-20V
- 数字IO口:18
- 模拟输入:2(A0、A1共享同一个ADC端口)
- 板载DAC接口:1
- 尺寸:97.08 * 54.70 mm
- 重量:30g
引脚说明
|
|
ArduinoIDE设置
让IDE支持Ameba-RTL8195AM Mainboard
- 打开arduinoIDE,文件->首选项,,在弹出的对话框中找到“附加开发板管理器网址”。在后面的文本框中填写
https://github.com/Ameba8195/Arduino/raw/master/release/package_realtek.com_ameba_index.json
- 点击OK
- 选择工具->开发板->开发板管理器,arduinoIDE会更新我们的板子信息。
- 在搜索框中输入Ameba,可以找到下面这个板子。点击安装
- 安装完成后显示为
在IDE中选择Ameba-RTL8195A
部分功能例程
WIFI 猎手
- 使用Ameba 自带的Wi-Fi功能来检测周围的WiFi信号,并将检测到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热点信息
NFC之初体验
用Ameba-RTL8195AM Mainboard 的 NFC功能 实现和带有NFC功能的现通信'
实验代码
#include <NfcTag.h> void setup() { NfcTag.appendRtdUri("baidu.com"); NfcTag.begin(); } void loop() { delay(1000); }
实验步骤
- 程序烧录后 , 按下复位键,程序开始运行 。
- 打开手机端的 “NFC” APP 。
- 打开安卓手机 的NFC功能 将手机放在Ameba-RTL8195AM Mainboard主板上NFC天线上方5cm 左右的位置。
- 稍等一小会儿 在手机端可以看到 我们要访问的 网址 “WWW.baidu.com”
实验结果
在手机端可以看到 我们要访问的 网址 “WWW.baidu.com”
注:程序烧录 完成后 手机需放在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
连接示意图
实验例程
#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); }
注:以上例程 可在官方 例程中找到
实验步骤
- 按照参考图 ,连接 所需要的硬件。
- 程序烧录后 , 按下复位键,程序开始运行 。
- 打开安卓手机 的WiFi功能 搜索附近的热点 找到我们先前建立的 热点“Dfrobot” ,输入密码“12345678” 连接。
- 打开手机端的 “VLC” APP 输入 网络地址“rtsp://192.168.1.1/test.dsp” 点击右下角 播放 按钮(灰黑色 三角形)。
- 稍等一小会儿 你就可以 看到 摄像头 所拍摄的 图像了。
- 至此 小小监控站就建好了 怎么样 我的 水杯很可爱吧?