当前位置: 首页 > news >正文

沈阳城市建设学院网站电子商务网站建设考卷

沈阳城市建设学院网站,电子商务网站建设考卷,开发微信公众号需要多少钱,厦门编程培训机构前面讲了智慧屏开关通过ubuntu下面的homeassistant和笔记本电脑上的C#程序来进行控制。都可以控制智慧屏开关,但细心的用户已经发现了,我们的初心是在手机上控制开关,电脑现在回家都不一定开机,你在电脑上开发的程序只是实现了能的…

前面讲了智慧屏开关通过ubuntu下面的homeassistant和笔记本电脑上的C#程序来进行控制。都可以控制智慧屏开关,但细心的用户已经发现了,我们的初心是在手机上控制开关,电脑现在回家都不一定开机,你在电脑上开发的程序只是实现了能的问题,还是没有实现手机控制。好吧,下面我们就来探索下手机控制智慧屏。

经过几天的尝试,写了一个简单的apk程序,可以开,关三个开关。界面如下:

首先,用的还是VS2022,先创建一个.net maui程序。

重新定义一下界面Main Page.xaml:

<Grid RowDefinitions="*, *, Auto, Auto, Auto, Auto, Auto, Auto"ColumnDefinitions="*, *"Padding="40"><LabelText="GeekPad开关控制器(通过MQTT)"x:Name="Label1"Style="{StaticResource Headline}"SemanticProperties.HeadingLevel="Level1"Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" /><ImageSource="geekpad.png"HeightRequest="185"Aspect="AspectFit"SemanticProperties.Description="dot net bot in a race car number eight" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2"/><Buttonx:Name="Switch1OnBtn"Text="开_1" SemanticProperties.Hint="打开开关1"Clicked="OnSwitch1OnClicked"HorizontalOptions="Fill" Grid.Row="2" Grid.Column="0"/><Buttonx:Name="Switch1OffBtn"Text="关_1" SemanticProperties.Hint="关闭开关1"Clicked="OnSwitch1OffClicked"HorizontalOptions="Fill" Grid.Row="2" Grid.Column="1"/><Buttonx:Name="Switch2OnBtn"Text="开_2" SemanticProperties.Hint="打开开关2"Clicked="OnSwitch2OnClicked"HorizontalOptions="Fill" Grid.Row="3" Grid.Column="0"/><Buttonx:Name="Switch2OffBtn"Text="关_2" SemanticProperties.Hint="关闭开关2"Clicked="OnSwitch2OffClicked"HorizontalOptions="Fill" Grid.Row="3" Grid.Column="1"/><Buttonx:Name="Switch3OnBtn"Text="开_3" SemanticProperties.Hint="打开开关3"Clicked="OnSwitch3OnClicked"HorizontalOptions="Fill" Grid.Row="4" Grid.Column="0"/><Buttonx:Name="Switch3OffBtn"Text="关_3" SemanticProperties.Hint="关闭开关3"Clicked="OnSwitch3OffClicked"HorizontalOptions="Fill" Grid.Row="4" Grid.Column="1"/>
</Grid>

修改MainPage.xaml.cs代码:

先启动服务器,再初始化一个客户端:

 MqttClient client;public MainPage(){InitializeComponent();Start_Mqttserver();Label1.Text = "MQTT Server is Ready.";client = new MqttClient{Log = XTrace.Log,Server = "tcp://127.0.0.1:1883",ClientId = Guid.NewGuid() + "",};}public void Start_Mqttserver(){var services = ObjectContainer.Current;services.AddSingleton<ILog>(XTrace.Log);services.AddTransient<IMqttHandler, MqttHandler>();services.AddSingleton<MqttExchange, MqttExchange>();var server = new MqttServer{Port = 1883,ServiceProvider = services.BuildServiceProvider(),Log = XTrace.Log,SessionLog = XTrace.Log,};server.Start();}

然后,定义按钮事件:

private void OnSwitch1OnClicked(object sender, EventArgs e)
{Switch1On();
}private void OnSwitch1OffClicked(object sender, EventArgs e)
{Switch1Off();
}public async Task Switch1On()
{await client.ConnectAsync().ConfigureAwait(false);await client.PublishAsync("homeassistant/ECDA3B62A4CC/1/set", "ON").ConfigureAwait(false);
}public async Task Switch1Off()
{await client.ConnectAsync().ConfigureAwait(false);await client.PublishAsync("homeassistant/ECDA3B62A4CC/1/set", "OFF").ConfigureAwait(false);
}private void OnSwitch2OnClicked(object sender, EventArgs e)
{Switch2On();
}private void OnSwitch2OffClicked(object sender, EventArgs e)
{Switch2Off();
}public async Task Switch2On()
{await client.ConnectAsync().ConfigureAwait(false);await client.PublishAsync("homeassistant/ECDA3B62A4CC/2/set", "ON").ConfigureAwait(false);
}public async Task Switch2Off()
{await client.ConnectAsync().ConfigureAwait(false);await client.PublishAsync("homeassistant/ECDA3B62A4CC/2/set", "OFF").ConfigureAwait(false);
}private void OnSwitch3OnClicked(object sender, EventArgs e)
{Switch3On();
}private void OnSwitch3OffClicked(object sender, EventArgs e)
{Switch3Off();
}public async Task Switch3On()
{await client.ConnectAsync().ConfigureAwait(false);await client.PublishAsync("homeassistant/ECDA3B62A4CC/3/set", "ON").ConfigureAwait(false);
}public async Task Switch3Off()
{await client.ConnectAsync().ConfigureAwait(false);await client.PublishAsync("homeassistant/ECDA3B62A4CC/3/set", "OFF").ConfigureAwait(false);
}

选择安卓模拟器,生成apk文件,然后将apk拷贝到手机上进行安卓。

安卓好以后打开apk,同时到手机设置里面查看一下IPv4地址,在GeekPad智慧屏MQTT设置界面填上手机的IP地址,重启后就可以用手机控制智慧屏开关了。非常的简单,大家可以试一下。图片的话大家可以改为自己的图片,显得更有个性。下面是项目截图,供大家参考。

http://www.dtcms.com/a/587766.html

相关文章:

  • 网站运营专员岗位职责昆明网站建设哪家比较
  • 在线电影网站建设收钱码合并的网站怎么做
  • 湖南网站seo网站秒收录
  • 农产品网站的品牌建设怎么在百度上做广告推广
  • 如何查询网站空间大小柬埔寨旅游网站建设
  • 外贸公司网站设计公司软件定制需要多少钱
  • 全国高校校园网站联盟建设上饶哪里做网站
  • 公司设计网站详情wordpress源码类主题
  • 建设淘宝网站的目的中国建设住建网站
  • 长沙专业网站制作h5网站开发费用
  • 郑州网站建设创新网络wordpress阿里云建站
  • 佛山营销网站建设服务公司网站宽度设置
  • 镇江网站优化电脑软件制作入门教程
  • 郑州建设银行网站房贷网点在哪里wordpress主题如何破解
  • 成都地铁建设分公司网站wordpress 禁用谷歌字体 地图
  • 宁波电信网站备案微信开发者平台api
  • 南昌网站seo济宁网站建设联系方式
  • 如何建设网站济南兴田德润团队怎么样摄影作品哪里看
  • 泊头市建设局网站青岛网站建设 上流
  • 首页八度空间济南网站搜索引擎优化
  • wordpress网站背景设置方法宁波seo培训
  • 网站建设的目的及意义厨之梦进口食品网站谁做的
  • 专业做食材网站wordpress调用树形目录
  • 网站建设兼职挣多少钱乐清新闻联播
  • 福州最好的网站设计服务公司辽宁食品 中企动力网站建设
  • 买卖域名的网站好怀安县建设局网站
  • 快速微信网站建设百度seo如何优化
  • 小企业公司网站建设承德市信息查询平台
  • 深圳建设信息网站官网邢台seo推广
  • wordpress 登录 显示不了seo推广专员工作内容