求助如何在基于安卓通过WiFi与Arduino通信,实现对LED灯的控制。 arduino与电脑利用wifi数据互通,是怎么实现的

\u4e00\u822c\u7528\u4ec0\u4e48APP\u6765\u901a\u8fc7WiFi\u63a7\u5236arduino

\u7269\u8054\u7f51IoT\u5165\u95e8 - ESP8266 WiFi\u6a21\u5757\u4e0eArduino, \u901a\u8fc7WiFi\u63a7\u5236LED

\u8fd9\u4e2a\u5176\u5b9e\u662f\u5728\u4e00\u5757\u677f\u5b50\u4e0a\u96c6\u6210\u4e86arduino\u548c\u4e00\u4e2a\u5c0f\u578b\u7684linux\u7cfb\u7edf\uff0c\u81ea\u5e26wifi\u6a21\u5757\uff0cwifi\u901a\u4fe1\u7684\u5de5\u4f5c\u7531linux\u6765\u505a\uff0c\u4f20\u611f\u5668\u7684\u6570\u636e\u91c7\u96c6\u7531arduino\u6765\u505a\uff0c\u4ed6\u4fe9\u4e4b\u95f4\u7684\u6570\u636e\u4ea4\u4e92\u901a\u8fc7Bridge\u5e93\u6765\u505a\u3002\u4e0d\u8fc7\u677f\u5b50\u8f83\u8d35\uff0c\u5927\u6982480\u5de6\u53f3\u3002\u610f\u5927\u5229\u539f\u4ea7\u3002\u9002\u5408\u73a9\uff0c\u4f60\u9700\u8981\u5b66\u4e60\u7684\u5c31\u662f\u53bb\u5b98\u7f51\u770b\u8fd9\u6b3e\u677f\u5b50\u7684\u6587\u6863\uff0c\u4e70\u4e00\u4e9b\u675c\u90a6\u7ebf\u548c\u4f20\u611f\u5668\uff0c\u9009\u62e9\u4e00\u4e2a\u7269\u8054\u7f51\u4e91\u5e73\u53f0\uff0c\u7528\u6765\u6d4b\u8bd5\u91c7\u96c6\u548c\u4f20\u8f93\u6570\u636e\uff01

项目需要的硬件如下:

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;

}

}

}

不难,就是步骤有点多,可以看看“老罗的Android之旅”,从底层驱动,HAL,framework,app,一层层自己加东西调用

不难,就是步骤有点多,可以看看“老罗的Android之旅”,从底层驱动,HAL,framework,app,一层层自己加东西调用

应该可以通过某些软件来实现 我的Iphone前几天在APP里下载了一个叫几维遥控器的东西 现在我开空调 电视换台 啥的都不需要找遥控器了,直接用手机就能解决了 其实这类的东西都有很多 应该能找到

应该可以通过某些软件来实现 我的Iphone前几天在APP里下载了一个叫几维遥控器的东西 现在我开空调 电视换台 啥的都不需要找遥控器了,直接用手机就能解决了 其实这类的东西都有很多 应该能找到

  • 姹傚姪濡備綍鍦ㄥ熀浜庡畨鍗撻氳繃WiFi涓嶢rduino閫氫俊,瀹炵幇瀵筁ED鐏殑鎺у埗銆俖鐧惧害鐭...
    绛旓細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 ...
  • 姹傚姪:瀹夊崜绯荤粺,濡備綍浣跨敤鐢典俊瀹跺涵瀹藉甫鐚墍甯︾殑WIFI?
    绛旓細1銆侀鍏堟敼鏃犵嚎璺敱鍣↖P锛氬崟鐙繛鎺ヤ綘鐨勭數鑴戜笌TP-鏃犵嚎璺敱鍣紝涓嶈鎺ュ厜鐚紝杩欐牱鍙互杩涘叆鍒皌p鐨勮缃〉闈紝鍦ㄧ綉缁滆缃-lan鍙h缃腑灏嗚矾鐢卞櫒lan鍙e湴鍧鐢192.168.1.1锛屾洿鏀逛负192.168.2.1锛屼繚瀛橈紝DLINK璺敱鍣ㄥ悗闈㈠啓鐨勬槸 192.168.0.1锛岃繖涓笌鐢典俊鍏夌氦鐚粯璁P192.168.1.1 鏃犲啿绐侊紝灏变笉鐢ㄤ慨鏀笽P銆2...
  • 鏂版墜姹傚姪!瀹夊崜绯荤粺鐨勬墜鏈篧LAN鎬庝箞杩炴帴?鍦ㄧ嚎绛夈傘傘
    绛旓細1銆佹ゼ涓诲彲浠ュ湪涓诲睆骞曚笂鐐瑰嚮wifi寮鍏锛屽鏋滄病鏈夋坊鍔犵户缁線涓嬬湅锛2銆佸湪璁剧疆涓偣鍑绘棤绾垮拰缃戠粶锛3銆佸鏋滀富灞忓箷娌℃湁寮鍏崇殑妤间富鍙互鍦ㄨ繖閲屾墦閽╁氨琛屼簡锛屾墦寮鍚庨夋嫨WLAN璁剧疆锛4銆佹壘鍒版ゼ涓诲鐨剋ifi鐑偣锛岀偣鍑伙細5銆佽緭鍏ヤ綘鐨剋ifi瀵嗙爜灏辫繛鎺ヤ笂浜嗭細6銆佹墜鏈哄氨鍙互涓婄綉浜嗐
  • 濡備綍鍦ˋndroid绯荤粺涓嬪紑鍙戜竴涓鍩轰簬WiFi鐨凱2P鑱婂ぉ杞欢
    绛旓細濡備綍鍦ˋndroid绯荤粺涓嬪紑鍙戜竴涓鍩轰簬WiFi鐨凱2P鑱婂ぉ杞欢 涓昏鏄鎴风杩炴帴鏈嶅姟鍣ㄧ锛屽鏋滀竴瀵逛竴灏变袱涓浉杩烇紝澶氬澶氱殑璇濆彲鑳介渶瑕佹惌涓涓湇鍔″櫒澶勭悊 鍏跺疄杩欎釜缃戠粶涓婂凡缁忓緢澶氱浉鍏充緥绋嬶紝鍙互鐧惧害鎼滅储涓嬶紝鎺ㄨ崘csdn鎴栬卲udn鍘荤湅涓涓嬶紝鍐呭鎸鸿缁嗙殑銆傜瓑绛旀锛 Android4.0寮濮嬪彧鏄Wifip2p浜嗭紝鍙互鍒╃敤杩欎釜鏉ュ仛涓涓狿2...
  • 鎴戞墜鏈瀹夊崜,鎯閫氳繃鐢佃剳鍏变韩杩炴帴wifi,浣嗚缃ソwifi鐑偣鍚,wifi璁块棶绫 ...
    绛旓細妤间富瑕佸厛璁剧疆鎴愮敤鏃犵嚎璺敱涓婄綉銆傜劧鍚庢墜鏈哄拰璺敱鍖归厤涓婂氨琛屼簡~
  • 鎵嬫満鎬庝箞杩炴帴wifi,鍏徃鏃犵嚎
    绛旓細1銆佹鏌WiFi瀵嗙爜鏄惁姝g‘寤鸿杈撳叆瀵嗙爜鏃剁偣鍑"鐪肩潧鍥炬爣"锛屽皢瀵嗙爜鏄剧ず鍑烘潵锛岀‘淇濆瘑鐮佹纭2銆侀噸鏂拌繛鎺iFi璇疯繘鍏ヨ缃--WLAN锛岀偣鍑婚渶瑕佽繛鎺ョ殑WiFi锛岀偣鍑"蹇樿缃戠粶/蹇樿瀵嗙爜"鍚庨噸鏂拌繛鎺ャ3銆佹鏌iFi缃戠粶鏄惁姝e父璇峰姣斿叾瀹冩墜鏈鸿繛鎺ョ浉鍚學iFi鏄惁姝e父锛岀‘璁ゆ槸WiFi杩樻槸鎵嬫満鍘熷洜銆傚鏄疻iFi鍘熷洜锛岃閲嶅惎鏃犵嚎璺敱鍣ㄦ煡鐪...
  • 璇烽棶濡備綍灏android鎵嬫満閫氳繃wifi璁剧疆鎴愪负涓涓狝d Hoc鐨勭儹鐐
    绛旓細浣犵殑杩欎釜闇姹傛瘮杈冪壒娈婏紝鎴戝墠娈垫椂闂村洜鑷繁鐨勯渶姹傜爺绌惰繃鐢ˋndroid鎵嬫満缁勫缓AD HOC缃戠粶鐨勯棶棰橈紝鎵惧埌浜嗕竴涓鍩轰簬AODV璺敱鍗忚鐨勯」鐩紝鐩墠鑳藉湪涓瀹氭潯浠朵笅瀹炵幇涓ゅ彴鎵嬫満鐨勪簰鐩歌闂紝鑳芥彁渚涙簮鐮併傝繖涓俊鎭緢鏈変环鍊煎摝锛岃拷鍔100鍒嗘彁渚涚粰浣犮
  • 瀹夊崜鎵嬫満鎬庝箞鐩存帴閫氳繃wifi杩炴帴浣宠兘IP7280鎵撳嵃?
    绛旓細姝ラ濡備笅锛1銆佸湪鎵嬫満涓婃壘鍒癚Q锛岀櫥闄哘Q璐﹀彿銆2銆佸湪鑱旂郴浜轰腑锛屾壘鍒版渶涓婃柟鐨勬垜鐨勬墦鍗版満鎸夐挳銆3銆佸崟鍑诲乏涓嬭鐨勬墦鍗版枃浠讹紝鎵惧埌瑕佹墦鍗扮殑鍐呭銆4銆佸嚭鏉ユ墦鍗版満鐨勫瀷鍙峰拰浠芥暟璁剧疆锛屽崟鍑绘墦鍗般5銆佸嚭鐜版鍦ㄥ彂閫佽嚦鎵撳嵃鏈猴紝鏈缁堝彂閫佸畬鎴愩
  • Android2.2绯荤粺鐨勬墜鏈篒5800,鏈変粈涔堝姙娉鍒╃敤绗旇鏈殑鏃犵嚎缃戝崱(intel 394...
    绛旓細淇濆瓨浠ュ悗閫夋嫨鏈湴杩炴帴锛屽湪楂樼骇涓妸鍏变韩缃戠粶鐨勭涓涓拰绗笁涓嬀閫変簡銆傝缃埌杩欓噷鐢鎵嬫満鎼滅储涓涓嬪氨搴旇鍙互涓婄綉浜嗐傚鏋滄墜鏈wifi鐨処P鏄疍HCP鍒嗛厤鐨勶紝濡192.168.0.XXX锛岄偅璇存槑OK锛屽鏋滀笉鏄紝閭h鏄庢病鏈夎缃ソ銆2.濡傛灉浣犳槸瀹藉甫鎷ㄥ彿涓婄綉銆傞偅淇濇寔涓婇潰涓嶅彉锛屽彧鏄浜嗕竴涓楠ゃ傚湪鐐瑰嚮瀹藉甫鎷ㄥ彿鐨勬椂鍊欙紝鍏堜笉...
  • 瀹夊崜鎵嬫満濡備綍鍒╃敤鍙板紡鐢佃剳鐨勭綉缁滀笂缃?姹傚姪澶х
    绛旓細鎵撳紑鎵嬫満鐨刉LAN鍔熻兘灏卞彲浠ュ暒锛岄熷害鍜岀數鑴戜竴鏍峰揩銆瀹夊崜鏈洪兘鏈夎繖涓姛鑳斤紝鍦ㄦ棤绾胯缃噷銆
  • 扩展阅读:如何协助他人查找设备 ... 如何在家登录单位内网 ... 100%wifi密码破解 ... 电磁干扰屏蔽简易方法 ... 宽带怎么踢掉蹭网的人 ... 安卓如何连接外网 ... 安卓手机怎么看国外网站 ... 安卓手机怎么翻去外网 ... 控制自家wifi的软件 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网