找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3784|回复: 5
收起左侧

STM32 android esp8266环境参数远程监控系统

[复制链接]
ID:95076 发表于 2019-1-27 14:52 | 显示全部楼层 |阅读模式
本系统为安卓APP的环境参数远程监控系统,以STM32F103单片机作为本设计的中控中心,结合物联网技术,以Android智能手机作为远程控制的客户端,通过8266 WiFi模块实现环境监控系统硬件与Android手机的交互、环境参数的反馈,并实时提醒用户采取措施,具有异常报警功能。
使用的软件为keil5 和Android studio

Screenshot_20190120_230955_com.myself.jpg IMG_20190120_230923.jpg

STM32程序:
主要编写串口、中断。ESP8266驱动程序网上有很多,可以直接拿来使用,本系统使用的是ESP8266的AP模式,在下位机中先设置好模式:
代码为:
u3_printf(“AT+CWMODE=2\r\n”);
delay_ms(1000);
u3_printf(“AT+CWSAP=“ESP8266”,“12345678”,11,3\r\n”);
delay_ms(1000);
u3_printf(“AT+RST\r\n”);
delay_ms(3000);
u3_printf(“AT+CIPMUX=1\r\n”);
delay_ms(2000);
u3_printf(“AT+CIPSERVER=1,5000\r\n”);
delay_ms(1000);
主要了解8266的AT指令即可,现在都是集成好了的,使用非常方便。
串口代码:
void u3_printf(char* fmt,…)
{
u16 i,j;
va_list ap;
va_start(ap,fmt);
vsprintf((char*)USART3_TX_BUF,fmt,ap);
va_end(ap);
i=strlen((const char*)USART3_TX_BUF);  
for(j=0;j<i;j++)  
{
while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);
USART_SendData(USART3,USART3_TX_BUF[j]);
}
}
APP程序:
public class MainActivity extends Activity {
private EditText pass;
private Button next;
private Button over;
private EditText pass_new;
SharedPreferences pass_word =null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(“登陆界面”);
setContentView(R.layout.activity_main);
Init();
pass_word = getSharedPreferences(“setting”, Activity.MODE_PRIVATE);

SharedPreferences.Editor editor = pass_word.edit();
next.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
                String now=pass.getText().toString();
                 // now="12345";
                String pas = pass_word.getString("name","12345");
               
                //Intent intent = new Intent();
        //intent.setClass(MainActivity.this,ShowActivity.class);
        //startActivity(intent);

                if(pas.equals(now))
                {
                         Intent intent = new Intent();
             intent.setClass(MainActivity.this,ShowActivity.class);
              startActivity(intent);
                }
                else{
                        Toast.makeText(MainActivity.this, "密码错误", Toast.LENGTH_LONG).show();
                        
                    }
                 
        }
     });

over.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
        String now=pass.getText().toString();
        String pas = pass_word.getString("name","12345");
        if(pas.equals(now))
        { new AlertDialog.Builder(MainActivity.this)  
        .setTitle("请输入新密码")  
        .setIcon(android.R.drawable.ic_dialog_info)  
        .setView(pass_new)  
        .setPositiveButton("确定",  new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int which)
           {
                   save() ;
           }
       })  
        .setNegativeButton("取消", null)  
        .show();  
        }
        else{
                Toast.makeText(MainActivity.this, "请输入初始密码", Toast.LENGTH_LONG).show();
            }
         
}
});

protected void onResume() {
if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
}

super.onResume(); }
1
void Init()
{
pass=(EditText) findViewById(R.id.et_pass);
next=(Button) findViewById(R.id.access);
over=(Button) findViewById(R.id.over);
// pass_new= new EditText(MainActivity.this);
}
void save()
{
String now=pass_new.getText().toString();
Editor editor =pass_word.edit();
editor.putString(“name”, now);
editor.commit();
|
|

–        –
–        –
}
}

回复

使用道具 举报

ID:1 发表于 2019-1-28 02:06 | 显示全部楼层
补全原理图+代码+app,详细说明一下电路连接即可获得260+黑币
回复

使用道具 举报

ID:482545 发表于 2019-3-1 11:24 | 显示全部楼层
怎么下载
回复

使用道具 举报

ID:501126 发表于 2019-3-30 13:12 | 显示全部楼层
楼主完整代码能发一下吗
回复

使用道具 举报

ID:475371 发表于 2019-4-13 12:32 | 显示全部楼层
求完整代码,我也在研究这个
回复

使用道具 举报

ID:475371 发表于 2019-4-13 12:32 | 显示全部楼层
求完整代码。我也在做这个东西
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表