C# Android wifi控制灯,求助如何在基于安卓通过WiFi与Arduino通信,实现对LED灯的控制。...
满意答案
dkmeng
推荐于 2017.12.15
采纳率:55% 等级:9
已帮助:567人
项目需要的硬件如下:
Arduino Uno
Ethernet Shield
LED灯 2个.
电阻 2个.
面包板(可选)
连接导线
路由器一个
项目要的连接管脚如下:
LED 1 --> pin 6 to ground
LED 2 --> pin 7 to ground
项目需要的软件如下:
Eclipse IDE
Arduino IDE 1.x.x
LED 1 --> pin 6 to ground
LED 2 --> pin 7 to ground
项目需要的软件如下:
Eclipse IDE
Arduino IDE 1.x.x
Step 1: 在 Arduino上编程如下:#include "etherShield.h"
#include "ETHER_28J60.h"
int led2 = 7;
int led1 = 6;
static uint8_t mac[6] = {0xAA, 0xBB, 0xCC, 0xDD, 0xBB, 0xAA}; // this just needs to be unique for your network,
// so unless you have more than one of these boards
// connected, you should be fine with this value.
static uint8_t ip[4] = {192, 168, 0, 15}; // the IP address for your board. Check your home hub
// to find an IP address not in use and pick that
// this or 10.0.0.15 are likely formats for an address
// that will work.
static uint16_t port = 80; // Use port 80 - the standard for HTTP
ETHER_28J60 e;
void setup()
{
e.setup(mac, ip, port);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
}
void loop()
{
char* params;
if (params = e.serviceRequest())
{
if (strcmp(params, "?cmd=1") == 0)
{
digitalWrite(led1, HIGH);
}
if (strcmp(params, "?cmd=2") == 0)
{
digitalWrite(led1, LOW);
}
if (strcmp(params, "?cmd=3") == 0)
{
digitalWrite(led2, HIGH);
}
if (strcmp(params, "?cmd=4") == 0)
{
digitalWrite(led2, LOW);
}
e.respond();
}
}
Step 2: 制作安卓APP
package com.androidarduino;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
StrictMode.ThreadPolicy policy = new StrictMode.
ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
View led1on = findViewById(R.id.led_1on);
View led1off = findViewById(R.id.led_1off);
View led2on = findViewById(R.id.led_2on);
View led2off = findViewById(R.id.led_2off);
led1on.setOnClickListener(this);
led1off.setOnClickListener(this);
led2on.setOnClickListener(this);
led2off.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void commandArduino(String url){
try {
HttpClient httpclient = new DefaultHttpClient();
httpclient.execute(new HttpGet(url));
} catch (Exception e) {
}
}
public void onClick(View thisView) {
switch(thisView.getId()){
case R.id.led_1on:
commandArduino("http://192.168.0.15/?cmd=1");
Toast.makeText(getApplicationContext(), "led_1on",Toast.LENGTH_LONG).show();
break;
case R.id.led_1off:
commandArduino("http://192.168.0.15/?cmd=2");
Toast.makeText(getApplicationContext(), "led_1off",Toast.LENGTH_LONG).show();
break;
case R.id.led_2on:
commandArduino("http://192.168.0.15/?cmd=3");
Toast.makeText(getApplicationContext(), "led_2on",Toast.LENGTH_LONG).show();
break;
case R.id.led_2off:
commandArduino("http://192.168.0.15/?cmd=4");
Toast.makeText(getApplicationContext(), "led_2off",Toast.LENGTH_LONG).show();
break;
}
}
}
01分享举报
C# Android wifi控制灯,求助如何在基于安卓通过WiFi与Arduino通信,实现对LED灯的控制。...相关推荐
- arduino灯带随音乐_创意分享:使用arduino实现音乐交互LED灯效果
今天俺跟大家分享一个使用arduino实现音乐交互LED灯的教程,这个教程是俺在国外网站上看到的一篇教程,根据作者描述该项目可能不超过5分钟就可以完成了,但是根据俺的经验,一般新手在迈出第一步都需要好 ...
- 手机蓝牙控制51单片机实现对led灯的开关
根据蓝牙模块通过手机蓝牙实现对51单片机led灯的控制. 1.器材 2.连线说明 3.源码 4.操作过程 5.成果展示 1.器材 51单片机,本人选用的为亚博的51单片机,不同的单片机在引脚的定义上有 ...
- 【单片机仿真项目】利用定时器0实现对LED灯的闪烁控制,LED灯的闪烁间隔为0.5秒
目录 1.keil实现 2.仿真实现 1.keil实现 #include <REG52.H> #define uchar unsigned char #define uint unsign ...
- 安卓开发板之串口通信,通过modbus Rtu协议控制下位机
安卓开发板之串口通信,通过modbus Rtu协议控制下位机 1.环境准备 2.编写串口操作核心类 3.编写测试类 前言:因为公司最近有个人脸识别门禁的项目,这个项目主要业务是实现远程人脸注册,管理员 ...
- Arduino 蜂鸣器播放音乐LED灯闪烁
一.实验所需组件: led灯 三脚蜂鸣器 面包板 Arduino开发板 杜邦线 二.实验原理 蜂鸣器实现音乐播放: 控制好频率和节拍,就能演奏出好听的音乐.因此,在实验之前要先弄清楚各音调的频率.可参 ...
- 2 Arduino基本数字输出功能LED灯
Arduino基本数字输出功能LED灯 I/O端口原理 单片机知识点补充 实战1--闪烁LED指示灯 实战2--LED简易流水灯 I/O端口原理 I/O英文全称是 Input/Output,即输入/输 ...
- 基于Arduino 的 WS2812B RGB LED 灯带指南
基于Arduino 的 WS2812B 可寻址 RGB LED 灯带指南 前言 介绍 WS2812B LED 灯条 为 WS2812B LED 灯条供电 原理图 代码 示范 前言 这篇文章是关于WS2 ...
- 西门子smart 200 rtu方式通讯四台三菱E700变频器资料 指针写法,通过modbus rtu方式,实现对E700变频器通讯控制
西门子smart 200 rtu方式通讯四台三菱E700变频器资料 硬件:smart plc.三菱E700变频器,mcgs触摸屏(电脑仿真也可) 功能:指针写法,通过modbus rtu方式,实现对E ...
- led灯模组是什么东西_【轻工标准抢先知】LED灯、LED灯具和LED模组的测试方法
如今越来越多的人在新房装修时采用LED灯作为家庭照明灯具,LED灯具也因光色自然柔和均匀.节能环保.使用寿命长等特点在室内外照明中广泛使用.目前,我国已成为LED灯.灯具和模块等LED产品的制造大国. ...
最新文章
- 扫掠两条引导线_NX10 入门图文教程——异形台架(扫掠或者沿引导线扫掠)
- oracle取字符串长度的函数length()和hengthb()
- java 内部类泛型,java – 使用泛型强制转换为内部类
- 命令行下操作常用语句
- 运筹学期末复习2020年
- Python 中的hash
- 设置计算机的启动顺序CDROM.C.A,amibios怎么设置cdrom
- 那些奇奇怪怪的男性用品......
- linux下hex文件到bin文件的格式转化,hex转换成bin文件小工具(HEX2BIN.EXE)下载_hex转换成bin文件小工具(HEX2BIN.EXE)官方下载-太平洋下载中心...
- 基于高德地图实现热力地图和标记点显示文字
- dnf打团正在连接服务器进不去是吗鬼,DNF韩服大转移版本开启 上线送迷你女鬼剑宠物...
- DO,DTO,VO,POJO, Java 中的各种 O(bject)
- java雪崩_了解java架构之微服务架构—雪崩效应
- 专属于程序员的理财建议,抱走不谢
- 有选择的忽略PyCharm 3的PEP8语言风格警告提示信息
- VB 中自定义弹出提示框的位置
- 微课制作一条龙,这些软件你必须知道
- 用usbtinyisp给atmega8刷bootloader,开启最小系统板
- FFT离散傅里叶音频分解转换_C语言实现
- 写一个登录界面——用窗体界面实现
热门文章
- 设置centos6 yum源为光盘
- Nginx内核参数相关的优化设定
- Linux下读写芯片的I2C寄存器
- 264标准中高复杂度的三方面
- halcon write_ocr_class_svm 将OCR分类器写入文件
- matlab simulnk笔记07——模块(接地模块group、终止模块terminal、信号合并mux与分解模块demux)
- iframe懒加载_前端常见问题
- python判断题题库大数据技术_智慧树_大数据分析的python基础_搜题公众号
- python用语句输入一个3*3的二维矩阵_python中二维数组的建立,输入和输出
- ajax传递数组,后台更新