Ryan Son
Published © GPL3+

Digitalized, Wi-Fi To-Do-List Monitor

A household device that will replace the typical forgotten paper to-do-list, automatically updating household members of tasks.

IntermediateFull instructions provided3,473
Digitalized, Wi-Fi To-Do-List Monitor

Things used in this project

Hardware components

Raspberry Pi 2 Model B
Raspberry Pi 2 Model B
×1
Computer Monitor
Any visual display can work but it must have a HD port or you will be require to buy an HDMI to VGA converter.
×1
HDMI Cable
×1
Raspberry Pi Wi-Fi Dongle
An Ethernet Cable will also work. It will need to be plugged in via Ethernet port on your computer or through a USB to Ethernet adapter
×1
Keyboard
×1
Bluetooth Mouse
Any mouse will do. A bluetooth mouse however does not require a cable to plug in, just a bluetooth module.
×1
16 gb Micro SD Card
×1
Raspberry Pi Micro USB Power Supply Charger
Any charger can work as long as it can provide 5v and 1500ma
×1

Software apps and online services

Google Sites
Visual Studio 2015
Microsoft Visual Studio 2015
Windows 10 IoT Core
Microsoft Windows 10 IoT Core

Hand tools and fabrication machines

Computer

Story

Read more

Schematics

IMG_1092.jpg

Code

MainPage.xaml.cs

C#
Within line 72, replace "https://sites.google.com/site/todolisthome/home" with the url of your website.
// Copyright (c) Microsoft. All rights reserved.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409

namespace IoTBrowser
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        private void Go_Web_Click(object sender, RoutedEventArgs e)
        {
            DoWebNavigate();
        }


        private void Web_Address_KeyUp(object sender, KeyRoutedEventArgs e)
        {
            if (e.Key == Windows.System.VirtualKey.Enter)
            {
                DoWebNavigate();
            }
        }

        private async void DoWebNavigate()
        {
            try
            {
                if (Web_Address.Text.Length > 0)
                {
                    webView.Navigate(new Uri(Web_Address.Text));
                }
                else
                {
                    MessageDialog dlg = new MessageDialog("you need to enter a web address.");
                    await dlg.ShowAsync();
                }
            }
            catch (Exception e)
            {
                MessageDialog dlg = new MessageDialog("Error: " + e.Message);
                await dlg.ShowAsync();

            }
        }


        private void To_Do_Click(object sender, RoutedEventArgs e)
        {
            Web_Address.Text = "https://sites.google.com/site/todolisthome/home";
            DoWebNavigate();
        }

    }
}

MainPage.xaml

C#
The main user interface of the application. This code will control what will your UI will look like.
<!--
 Copyright(c) Microsoft Open Technologies, Inc. All rights reserved.
 The MIT License(MIT)
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files(the "Software"), to deal
 in the Software without restriction, including without limitation the rights
 to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
 copies of the Software, and to permit persons to whom the Software is
 furnished to do so, subject to the following conditions :
 The above copyright notice and this permission notice shall be included in
 all copies or substantial portions of the Software.
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
-->
<Page
    x:Class="IoTBrowser.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:IoTBrowser"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    HorizontalAlignment="Stretch"
    VerticalAlignment="Stretch">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Grid.RowDefinitions>
            <RowDefinition Height="70"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
            <RowDefinition Height="65"></RowDefinition>
        </Grid.RowDefinitions>

        
        <!--Favorites button--><!--This section of code can be modfiy to adjust the button-->
        <StackPanel Grid.Row="0" Orientation="Horizontal" >
            <Button x:Name="Go_Hackster" Content="Family To-Do List" FontSize="30" FontFamily="Normal" FontStyle="Italic" VerticalAlignment="Center" Height="70" Width="250" Margin="0,25,0,0" Click="To_Do_Click"/>
        </StackPanel>

        <!--Web view control-->
        <WebView x:Name="webView" Grid.Row="1"/>
        
        <!--Address bar--><!--Modify Height and Width of the Web address to fit your screen size specifications-->
        <StackPanel Grid.Row="2" Orientation="Horizontal">
            <TextBox x:Name="Web_Address" FontSize="24" TextWrapping="Wrap" Text="http://www.bing.com" VerticalAlignment="Center" VerticalContentAlignment="Center" Height="54" Width="1800" KeyUp="Web_Address_KeyUp"/>
            <Button x:Name="Go_Web" Content="Go!" HorizontalAlignment="Right" VerticalAlignment="Center" Height="60" Width="107" Click="Go_Web_Click"/>
        </StackPanel>
    
    </Grid>
</Page>

Credits

Ryan Son

Ryan Son

1 project • 5 followers
Trying to survive the horrors of college

Comments